例如这样一个死循环:怎样实现在运行时按任意键退出呢?

#include<stdio.h>
void main()
{
for(;;)
printf("HAHA\n");
}

皈依舞
浏览 379回答 3
3回答

aluckdog

C语言中可以使用函数system()、getch()实现按键退出。1、直接调用系统函数 system(“pause”):system()会调用fork()产生子进程, 由子进程来调用/bin/sh-c string 来执行参数string 字符串所代表的命令, 此命令执行完后随即返回原调用的进程。system(“pause”)可以实现冻结屏幕,便于观察程序的执行结果。2、调用getch()函数:此函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,需要include<conio.h>

呼如林

直接调用系统函数 system("pause")即可:system()会调用fork()产生子进程, 由子进程来调用/bin/sh-c string 来执行参数string 字符串所代表的命令, 此命令执行完后随即返回原调用的进程。system("pause")可以实现冻结屏幕,便于观察程序的执行结果。

桃花长相依

可以通过两种方法,达到从终端读入一个键的效果,然后通过exit函数退出。如果在主函数中调用,也可以通过调用return 语句退出。exit函数:所在头文件:stdlib.h。函数用途:强制退出程序。函数原型:void exit(int value);参数:value,相当于在main中退出时的返回值,传递给主调进程,即调用可执行程序的进程。具体实现如下:一,通过getch函数。所在头文件:conio.h。函数用途:从控制台读取一个字符,但不显示在屏幕上。函数原型:int getch(void);返回值:读取的字符。#include&nbsp;<conio.h>#include&nbsp;<stdlib.h>#include&nbsp;<stdio.h>&nbsp;void&nbsp;exit_with_press_any_key(void){&nbsp;&nbsp;&nbsp;&nbsp;printf("press&nbsp;any&nbsp;key&nbsp;to&nbsp;exit\n");&nbsp;&nbsp;&nbsp;&nbsp;getch();//等待终端输入任意字符&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(0);//退出程序。}如果在主函数中可以这样做:#include&nbsp;<conio.h>#include&nbsp;<stdlib.h>#include&nbsp;<stdio.h>int&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;//要执行的功能代码。&nbsp;&nbsp;&nbsp;&nbsp;printf("press&nbsp;any&nbsp;key&nbsp;to&nbsp;exit\n");&nbsp;&nbsp;&nbsp;&nbsp;getch();//等待终端输入任意字符&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;//退出程序。}二、使用系统命令pause.在dos命令中有pause命令,功能为暂停当前程序,并根据操作系统语言,给出&nbsp; &nbsp; 请按任意键继续. . .或者同样含义的其它语言提示。当检测到有任意键输入后,程序继续运行。在C语言中可以用system函数来调用系统函数。system所在头文件:stdlib.h。函数用途:调用系统命令。函数原型:int system(const char *command);参数:command为要执行的命令,以字符串形式。返回值:运行命令的结果。通过system("pause");可以达到暂停的目的。由于pause本身有输出,所以代码中可以不用额外加提示语言。代码如下:#include&nbsp;<stdlib.h>&nbsp;void&nbsp;exit_with_press_any_key(void){&nbsp;&nbsp;&nbsp;&nbsp;system("pause");//等待终端输入任意字符&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(0);//退出程序。}如果在主函数中,可以:#include&nbsp;<stdlib.h>int&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;//要执行的功能代码。&nbsp;&nbsp;&nbsp;&nbsp;system("pause");//等待终端输入任意字符&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;//退出程序。}&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP