可能重复:
Why does printf not flush after the call unless a newline is in the format string?
我试图在论坛上回答一些问题,我遇到了很有趣的事情。 这是代码:
int main()
{
int print_val = -1;
while(1)
{
printf("%d \n", ++print_val);
sleep(1);
}
}
这很完美。现在乐趣进入..只需将第7行更改为
printf("%d ", ++print_val);
(只需删除换行!)
现在没有输出..!
那么任何人都可以帮我理解sleep()函数的行为..?我认为需要看看sleep()而不是printf(),因为我尝试用fprintf()和putc()替换它,只给出相同的输出。
我在32位Ubuntu以及虚拟机中的32位Ubuntu上尝试过这段代码。
由于 阿多恩