默认情况下,printf()的输出是缓冲的,如果没有换行符,不会立即输出到标准输出。
如果想立即看到输出,可以
1. 在输入字符串末尾加上 "\n".
2. 输出到stderr:
fprintf(stderr, "I will be printed immediately");
3. 使用 fflush:
printf("Buffered, will be flushed");
fflush(stdout); // Will now print everything in the stdout buffer
4. 用setbuf禁掉 buffer:
setbuf(stdout, NULL);