关于 c 打印异常的问题
有些时候报错了,需要依靠打印来调式看具体出错的位置。但是当打印不及时时就会出现被误导的情况。
其他的逻辑先不说,我们一定要先保证打印的逻辑正确。
首先,了解下 printf 这个函数
它是一个行缓冲函数,当你执行这个函数时,并不会立即打印数据。而是等 printf的缓冲区满1024个字节才会打印出来。
解决方法:
第一:调用 刷新缓冲区的函数
printf("hello c11");
fflush(stdout);
第二:在函数结尾加 ‘\r’, '\n’时,也会立刻刷新缓冲区
printf("hello c22\r");
printf("hello c33\n");
参考文章:C++详细讲解print缓冲区的刷新