重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
C语言中可以使用函数system()、getch()实现按键退出。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的攀枝花网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
1、直接调用系统函数 system(“pause”):
system()会调用fork()产生子进程, 由子进程来调用/bin/sh-c string 来执行参数string 字符串所代表的命令, 此命令执行完后随即返回原调用的进程。
system(“pause”)可以实现冻结屏幕,便于观察程序的执行结果。
2、调用getch()函数:
此函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,需要includeconio.h
扩展资料
一、使用getch函数设置退出
所在头文件:conio.h。
函数用途:从控制台读取一个字符,但不显示在屏幕上。
函数原型:intgetch(void);
返回值:读取的字符。
二、打开文件的操作通过标准库函数 fopen
函数 fopen 的第二个参数指定了文件的访问模式,访问模式决定了流所许可的输入和输出操作。对访问模式字符串的许可值有严格的限制。
该字符串的第一个字符只能为三种形式:r(read)、w(write)或者 a(append)。另可加字符b表示以二进制方式打开文件。
方法一:
main()函数写成int型的,即int main()
然后结束的时候
只需return 0;
代表程序正常结束
方法二:
利用
if(条件)
exit();
if语句条件满足时退出程序。
函数名: exit
功 能: 终止程序
用 法: void exit(int status);
程序例:
#include stdlib.h
#include conio.h
#include stdio.h
int main(void)
{
int status;
printf("Enter either 1 or 2\n");
status = getch();
/* Sets DOS errorlevel */
exit(status - '0');
/* Note: this line is never reached */
return 0;
}
1、加一个头文件#include stdlib.h
2、主函数返回int而不是void
改动后的代码:#includestdio.h
#include stdlib.h
void jia()
{
int a,b,c;
printf("两个数");
scanf("%d,%d",a,b);
c=a+b;
printf("%d+%d=%d\n",a,b,c);
}
void jian()
{
int a,b,c;
printf("两个数");
scanf("%d,%d",a,b);
c=a-b;
printf("%d-%d=%d\n",a,b,c);
}
void cheng()
{
int a,b,c;
printf("两个数");
scanf("%d,%d",a,b);
c=a*b;
printf("%d*%d=%d\n",a,b,c);
}
void chu()
{
int a,b,c;
printf("两个数");
scanf("%d,%d",a,b);
if(b==0)
printf("0不能放下面");
else
{
c=a/b;
printf("%d/%d=%d\n",a,b,c);
}
}
void deijia()
{
int a,b,c;
b=0;
printf("输入要加几次");
scanf("%d",c);
for(a=1;a=c;a++)
{
b+=a;
}
printf("叠加的结果=%d",b);
}
void jiecheng()
{
int a,b,c;
b=1;
printf("输入要乘几次");
scanf("%d",c);
for(a=1;a=c;a++)
{
b*=a;
}
printf("阶乘的结果=%d",b);
}
int main()
{
int s=0;
while(1)
{
void DisplayMenu();
printf("\n1加2减3乘4除5叠加6阶乘7退出(输入数的时候中间用逗号隔开)");
scanf("%d",s);
switch(s)
{
case 1:jia();
break;
case 2:jian();
break;
case 3:cheng();
break;
case 4:chu();
break;
case 5:deijia();
break;
case 6:jiecheng();
break;
case 7:exit(0);
}
}
}
一个死循环在执行中停止:
1、你在死循环中包含了break语句或return,比如if满足某个条件就执行break或者return。
2、你在循环中或调用的函数中,执行了exit函数,直接结束了整个程序。
3、你的代码有错,比如使用野指针,越界访问数组等不可控行为。
4、内存不足,程序终止,比如循环malloc申请内存,但没有释放,又或者调用递归函数造成内存溢出。