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