一般我们编程,在输出语句printf中通常在输出语句结束时,加上“\n”,那么,这个“\n”的作用是什么呢?
“\n”起刷新缓冲区的作用。
例:我们定义一个元素为1-5的数组a,用for循环让a顺序输出元素。
#include<stdio.h> int main() { char a[5] = { 1, 2, 3, 4, 5}; int i; for(i = 0; i < 5; i++) { printf("%d ", a); sleep(1); //这里的sleep起延时1s的作用。 } }
输出结果:并非1-5延时1s顺序输出,而是在整个函数执行完毕是,“1 2 3 4 5”起输出。
解决方法:在printf中加入“\n”,改为printf(“%d \n”, a);就能如题目实现了。
printf("%d \n", a);
刷新缓冲区的方法:
1、输出语句中加入“\n”。
2、在输出语句后面加入fflush(stdout)手动刷新缓冲区。
3、等程序结束一并刷新输出。
版权声明:本文为wow66lfy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。