全部博文(35)
分类: C/C++
2014-08-12 16:08:27
在使用printf打印时偶尔会出现没有打印的现象,或者在使用多个输出函数连续进行多次输出时,有可能发现输出错误。这是因为①缓冲区没有满,要等到缓冲区满才一并输出。②下一个数据再上一个数据还没输出完毕,还在输出缓冲区中时,下一个printf就把另一个数据加入输出缓冲区,结果冲掉了原来的数据,出现输出错误。 解决办法:①在printf()打印时,加上\n进行换行
②在printf后加上fflush(stdout); 强制马上输出。
③在每个不想受接收缓冲区旧内容影响的scanf前面加rewind(stdin);