如何在C中暂停?

Cat*_*yLu 18 c

我是C的初学者.我运行C程序,但窗口关闭得太快才能看到任何东西.我怎么能暂停窗户?

Gav*_*n H 43

你可以把

getchar();
Run Code Online (Sandbox Code Playgroud)

从主函数返回之前.这将在退出程序之前等待字符输入.

或者,您可以从命令行运行程序,输出将是可见的.


Geo*_*rge 7

如果您只想延迟关闭窗口而不必实际按下按钮(getchar()方法),您只需使用该sleep()方法; 它需要您想要作为参数睡觉的秒数.

#include <unistd.h>
// your code here
sleep(3); // sleep for 3 seconds
Run Code Online (Sandbox Code Playgroud)

参考文献: sleep()手册


Dav*_*ave 5

它是一个在Windows中运行的控制台程序吗?如果是这样,请从已打开的控制台运行它.即运行"cmd",然后更改到其中包含.exe的目录(使用cd命令),然后键入exe名称.您的控制台窗口将保持打开状态


vin*_*c17 5

在 POSIX 系统下,最好的解决方案似乎使用:

#include <unistd.h>

pause ();
Run Code Online (Sandbox Code Playgroud)

如果进程收到一个信号,其效果是终止它(通常通过在终端中键入Ctrl+ C),则pause不会返回并且进程将被该信号有效地终止。更高级的用法是使用信号捕捉函数,在接收到相应信号时调用,之后pause返回,恢复进程。

注意:使用getchar()将不起作用是标准输入被重定向;因此这个更通用的解决方案。