没有\n的printf在放置之前不显示文本(1)

Aav*_*tal 3 c printf

可能重复:
为什么printf在调用后不会刷新,除非换行符在格式字符串中?(在C中)

我在做网络项目时遇到了这个问题.我能够缩小问题的范围,并像这样重现:

如果您运行此代码,它将不会在屏幕上显示文本.虽然如果你把\n放在文本的末尾或者在printf语句之后使用fflush(),它会显示文本.

int main(){
printf("started") ;
while(1){
}
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释这种行为吗?

aio*_*obe 6

如果没有,输出就不会刷新到屏幕上\n.

fflush(stdout);之后添加printf,您应该看到输出.