为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C
皈依舞 2022-11-18 17:13:05
#include<stdio.h>void main(){for(;;)printf("HAHA\n");}
查看完整描述

3 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

C语言中可以使用函数system()、getch()实现按键退出。

1、直接调用系统函数 system(“pause”):

system()会调用fork()产生子进程, 由子进程来调用/bin/sh-c string 来执行参数string 字符串所代表的命令, 此命令执行完后随即返回原调用的进程。

system(“pause”)可以实现冻结屏幕,便于观察程序的执行结果。

2、调用getch()函数:

此函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,需要include<conio.h>


查看完整回答
反对 回复 2022-11-24
?
呼如林

TA贡献1798条经验 获得超3个赞

直接调用系统函数 system("pause")即可:

system()会调用fork()产生子进程, 由子进程来调用/bin/sh-c string 来执行参数string 字符串所代表的命令, 此命令执行完后随即返回原调用的进程。

system("pause")可以实现冻结屏幕,便于观察程序的执行结果。


查看完整回答
反对 回复 2022-11-24
?
桃花长相依

TA贡献1860条经验 获得超8个赞

可以通过两种方法,达到从终端读入一个键的效果,然后通过exit函数退出。

如果在主函数中调用,也可以通过调用return 语句退出。

exit函数:

所在头文件:stdlib.h。

函数用途:强制退出程序。

函数原型:void exit(int value);

参数:value,相当于在main中退出时的返回值,传递给主调进程,即调用可执行程序的进程。

具体实现如下:

一,通过getch函数。

所在头文件:conio.h。

函数用途:从控制台读取一个字符,但不显示在屏幕上。

函数原型:int getch(void);

返回值:读取的字符。


#include <conio.h>#include <stdlib.h>#include <stdio.h> void exit_with_press_any_key(void){    printf("press any key to exit\n");    getch();//等待终端输入任意字符         exit(0);//退出程序。}

如果在主函数中可以这样做:


#include <conio.h>#include <stdlib.h>#include <stdio.h>int main(){    //要执行的功能代码。    printf("press any key to exit\n");    getch();//等待终端输入任意字符         return 0;//退出程序。}

二、使用系统命令pause.

在dos命令中有pause命令,功能为暂停当前程序,并根据操作系统语言,给出

    请按任意键继续. . .

或者同样含义的其它语言提示。

当检测到有任意键输入后,程序继续运行。

在C语言中可以用system函数来调用系统函数。

system

所在头文件:stdlib.h。

函数用途:调用系统命令。

函数原型:int system(const char *command);

参数:command为要执行的命令,以字符串形式。

返回值:运行命令的结果。

通过system("pause");可以达到暂停的目的。

由于pause本身有输出,所以代码中可以不用额外加提示语言。

代码如下:


#include <stdlib.h> void exit_with_press_any_key(void){    system("pause");//等待终端输入任意字符         exit(0);//退出程序。}

如果在主函数中,可以:


#include <stdlib.h>int main(){    //要执行的功能代码。    system("pause");//等待终端输入任意字符         return 0;//退出程序。}

 


查看完整回答
反对 回复 2022-11-24
  • 3 回答
  • 0 关注
  • 357 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信