可能重复:为什么printf在调用后不刷新,除非换行符在格式字符串中? (在C中)
我在做网络项目时遇到了这个问题 . 我能够缩小问题的范围,并像这样重现:
如果您运行此代码,它将不会在屏幕上显示文本 . 虽然如果你把\ n放在文本的末尾或者在printf语句之后使用fflush(),它会显示文本 .
int main(){ printf("started") ; while(1){ } }
任何人都可以解释这种行为吗?
如果没有 \n ,输出就不会刷新到屏幕 .
\n
在 printf 之后添加 fflush(stdout); ,您应该看到输出 .
printf
fflush(stdout);
1 回答
如果没有
\n
,输出就不会刷新到屏幕 .在
printf
之后添加fflush(stdout);
,您应该看到输出 .