printf缓冲区问题
以下内容在Linux测试,Window中进行试验时现象可能会有不同。
一.引入
对于printf输出函数具有缓冲区,是在使用sleep函数测试时发现的。
首先把测试问题复述一下:
简单写一个hello world的程序
#include <stdio.h>
int main()
{
printf("hello world\n");
sleep(5); //延迟5秒
printf("hello friend\n");
return 0;
}
输出结果:
hello world 和hello friend的输出中间间隔了5秒
当我们修改一下代码后:将hello world后的\n换行符删掉后
#include <stdio.h>
int main()
{
printf("hello world");
sleep(5); //延迟5秒
printf("hello friend\n"<