#include <stdlib.h>
int main()
{
printf("\nHello");
sleep(5);
printf("\nLinux");
}在我看来,这应该是:
PRINT Hello --- WAIT 5 SECS ---> PRINT Linux但实际上是这样的:
WAIT 5 SECS --> PRINT Hello --> PRINT Linux为什么?如何使我的节目成为第一个(如我的期望)?
以及为什么我的代码可以预期地在Win32控制台上运行?
发布于 2014-01-29 09:46:57
您的流是行缓冲的,因为您没有用\n结束字符串,所以使用fflush刷新它。
将程序更改为:
int main()
{
printf("\nHello");
fflush(stdout);
sleep(5);
printf("\nLinux");
}发布于 2014-01-29 09:47:21
输出被缓冲,直到换行符才被打印出来。
试着:
printf("\nHello\n");
sleep(5);
printf("Linux");https://stackoverflow.com/questions/21427279
复制相似问题