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

时间:2011-09-12 06:35:53

标签: c printf

  

可能重复:
  Why does printf not flush after the call unless a newline is in the format string? (in C)

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

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

int main(){
printf("started") ;
while(1){
}
}

有人可以解释一下这种行为吗?

1 个答案:

答案 0 :(得分:6)

输出不会在没有\n的情况下刷新到屏幕。

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