C语言中如何实现按任意键退出

例如这样一个死循环:
#include<stdio.h>
void main()
{
for(;;)
printf("HAHA\n");
}
怎样实现在运行时按任意键退出呢?

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

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

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

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

2、调用getch()函数:

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

扩展资料

一、使用getch函数设置退出

所在头文件:conio.h。

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

函数原型:intgetch(void);

返回值:读取的字符。

二、打开文件的操作通过标准库函数 fopen

函数 fopen 的第二个参数指定了文件的访问模式,访问模式决定了流所许可的输入和输出操作。对访问模式字符串的许可值有严格的限制。

该字符串的第一个字符只能为三种形式:r(read)、w(write)或者 a(append)。另可加字符b表示以二进制方式打开文件。

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-05

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

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

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

扩展资料:

C语言参考函数:

C语言isupper()函数:判断一个字符是否是大写字母

C语言isspace()函数:判断一个字符是否是空白符

C语言isprint()函数:判断一个字符是否是可打印字符

C语言islower()函数:判断一个字符是否是小写字母

C语言labs()函数:求整数的绝对值(针对long类型)

参考资料来源:百度百科-C语言函数

参考资料来源:百度百科-c语言

本回答被网友采纳
第2个回答  推荐于2017-09-09

可以通过两种方法,达到从终端读入一个键的效果,然后通过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;//退出程序。
}

第3个回答  推荐于2017-10-08
#include<stdio.h>
#include<conio.h>
void main(void)
{
while(!kbhit())
{
printf(”HAHA\n”);
}
getch();
}

kbhit()函数被包含在conio.h头文件里本回答被提问者采纳
第4个回答  2011-02-07
system("PAUSE"); ??

C语言中如何实现按任意键退出
C语言中可以使用函数system()、getch()实现按键退出。1、直接调用系统函数 system(“pause”):system()会调用fork()产生子进程, 由子进程来调用\/bin\/sh-c string 来执行参数string 字符串所代表的命令, 此命令执行完后随即返回原调用的进程。system(“pause”)可以实现冻结屏幕,便于观察程序的执行结...

在c语言中怎么实现输入esc退出 其他键继续
include<conio.h> include<stdio.h> int main(){ while(1){ if(_kbhit()&&_getch()==0x1b)break;printf("dosomething...");} }

C语言怎么按任意键退出
一个C语言源文件经过编译后生成.exe文件,如果在编译器中或者DOS窗口中运行,在程序结束后并不会立即退出,而是会提示按任意键退出。然而将编译好的程序生成的.exe文件直接打开时,程序执行结束后会直接退出,不会有提示,这时候在编译前可以加上一句system("pause");\/\/程序执行结束后暂停 ...

C语言中如何按任意键结束正在运行的程序?
可以加个语句 getch();表示在此暂停 当您按任意键时 程序继续运行。注:要加头文件#include<conio.h>

【c语言】求解 怎样写一段 按任意键跳出while循环的语句呢?
t t= time(0);printf("当前时间为%s\\n", ctime(&t));printf("按任意键退出...\\n");Sleep(1000);system("cls");if (k)break;}while (1);}void start(){_beginthread(dispmenu, 0, 0); \/\/启动dispmenu}int main(){ start();k = getch();return 0;} ...

怎样在C语言执行循环程序时按键盘任意键停止程序,再按再继续执行?_百...
if(kbhit()){getch();} 函数名:kbhit()(VC++6.0下为_kbhit())功 能及返回值: 检查当前是否有键盘输入,若有则返回一个非0值,否则返回0 用 法:int kbhit(void);包含头文件: include conio.h

怎样在c语言中实现按任意键返回上级菜单
什么叫回到上级菜单?? MFC??如果只是调用dos窗口的话,跨函数块只需要定义全局变量就可以了

...下C语言写了一个while循环,怎么实现按任意键退出。如何编写程序...
char ch;while(1){ ch=kbhit();} 按下任意键跳出死循环

C++“按任意键退出”的代码该怎么写?
用一句话 system("PAUSE");另外还可以把C语言中的stdio.h包含进去,然后在程序的最后加一句 getch();

c语言编程,能不能让一个语句一直循环,直到按任意键?
很简单, 用函数 _kbhit() 控制。下面每半秒输出一次 Please hit me !按任一键,程序退出循环。include <stdio.h> include <conio.h> include <windows.h> main( ){ int p;while( ! _kbhit() ) { \/\/ run progs _cputs( "Please hit me ! \\n" );Sleep(500);} return 0;} MS ...

相似回答