这是因为stdout通常是行缓冲的.所以你的C库缓冲输出.您可以使用\nin printf()或通过调用来刷新它fflush(stdout).
stdout
\n
printf()
fflush(stdout)
printf("Whats up\n");
要么
fflush(stdout); // call after the printf
您还可以使用以下命令关闭缓冲setbuf():
setbuf()
setbuf(stdout, 0);