为什么 pause() 函数会阻止在 C 中看到控制台输出?

Why pause() function prevents seeing console output in C?

我有点困惑函数 pause() 在调用顺序方面是如何工作的。例如:

int main(){
     printf("Start\n");
     pause();
     printf("Finish\n");
}

我希望在暂停前得到输出 "Start",但程序只是立即暂停。请解释为什么。提前致谢。

您的终端仿真器显然不会在每个换行符上刷新标准输出。如果您想立即看到输出,可以使用 fflush(stdout) 手动刷新它:

int main(){
     printf("Start\n");
     fflush(stdout);
     pause();
     printf("Finish\n");
}