为什么 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");
}
我有点困惑函数 pause() 在调用顺序方面是如何工作的。例如:
int main(){
printf("Start\n");
pause();
printf("Finish\n");
}
我希望在暂停前得到输出 "Start",但程序只是立即暂停。请解释为什么。提前致谢。
您的终端仿真器显然不会在每个换行符上刷新标准输出。如果您想立即看到输出,可以使用 fflush(stdout)
手动刷新它:
int main(){
printf("Start\n");
fflush(stdout);
pause();
printf("Finish\n");
}