如何在C中暂停?

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

你可以把

getchar(); 

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

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

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

 #include  // your code here sleep(3); // sleep for 3 seconds 

参考文献: sleep()手册

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

如果您正在制作控制台窗口程序,则可以使用system(“pause”);

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

 #include  pause (); 

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

注意:使用getchar()将无效,标准输入被重定向; 因此这个更通用的解决方案

我假设你在Windows上。 通过双击它的图标或单击IDE中的按钮来尝试运行程序,打开命令提示符,cd到程序所在的目录,然后在命令行输入其名称来运行它。

也可以使用在conio.h中定义的getch()

示例程序如下所示:

 #include  #include  int main() { //your code getch(); return 0; } 

getch()等待键盘输入的任何字符(不一定输入键)。

你也可以只使用system("pause");

我记得有关DOS批处理文件的好工作。 根本不需要Getchar()。 只需编写批处理文件即可将目录(cd)更改为程序所在的文件夹。 键入exe程序的名称,然后在下一行键入pause。 例:

 cd\ 

wallpaper_calculator.exe暂停

对于Linux; getchar()就是你所需要的。

如果您使用的是Windows,请查看以下内容,这正是您所需要的!

kbit()函数

  • kbhit()函数用于确定是否按下了某个键。
  • 要在C或C ++ prorams中使用kbhit(),您必须包含头文件“conio.h”。

例如,看看它在以下程序中是如何工作的;

 //any_key.c #include  #include  int main(){ //code here printf ("Press any key to continue . . .\n"); while (1) if (kbhit()) break; //code here return 0; } 

当我编译并运行程序时, 这就是我所看到的。

只有当用户只从键盘按下一个键时, kbhit()才会返回1。