C語言中可以使用函數(shù)system()、getch()實(shí)現(xiàn)按鍵退出。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的攀枝花網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1、直接調(diào)用系統(tǒng)函數(shù) system(“pause”):
system()會(huì)調(diào)用fork()產(chǎn)生子進(jìn)程, 由子進(jìn)程來調(diào)用/bin/sh-c string 來執(zhí)行參數(shù)string 字符串所代表的命令, 此命令執(zhí)行完后隨即返回原調(diào)用的進(jìn)程。
system(“pause”)可以實(shí)現(xiàn)凍結(jié)屏幕,便于觀察程序的執(zhí)行結(jié)果。
2、調(diào)用getch()函數(shù):
此函數(shù)是一個(gè)不回顯函數(shù),當(dāng)用戶按下某個(gè)字符時(shí),函數(shù)自動(dòng)讀取,無需按回車,需要includeconio.h
擴(kuò)展資料
一、使用getch函數(shù)設(shè)置退出
所在頭文件:conio.h。
函數(shù)用途:從控制臺(tái)讀取一個(gè)字符,但不顯示在屏幕上。
函數(shù)原型:intgetch(void);
返回值:讀取的字符。
二、打開文件的操作通過標(biāo)準(zhǔn)庫函數(shù) fopen
函數(shù) fopen 的第二個(gè)參數(shù)指定了文件的訪問模式,訪問模式?jīng)Q定了流所許可的輸入和輸出操作。對訪問模式字符串的許可值有嚴(yán)格的限制。
該字符串的第一個(gè)字符只能為三種形式:r(read)、w(write)或者 a(append)。另可加字符b表示以二進(jìn)制方式打開文件。
方法一:
main()函數(shù)寫成int型的,即int main()
然后結(jié)束的時(shí)候
只需return 0;
代表程序正常結(jié)束
方法二:
利用
if(條件)
exit();
if語句條件滿足時(shí)退出程序。
函數(shù)名: 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、加一個(gè)頭文件#include stdlib.h
2、主函數(shù)返回int而不是void
改動(dòng)后的代碼:#includestdio.h
#include stdlib.h
void jia()
{
int a,b,c;
printf("兩個(gè)數(shù)");
scanf("%d,%d",a,b);
c=a+b;
printf("%d+%d=%d\n",a,b,c);
}
void jian()
{
int a,b,c;
printf("兩個(gè)數(shù)");
scanf("%d,%d",a,b);
c=a-b;
printf("%d-%d=%d\n",a,b,c);
}
void cheng()
{
int a,b,c;
printf("兩個(gè)數(shù)");
scanf("%d,%d",a,b);
c=a*b;
printf("%d*%d=%d\n",a,b,c);
}
void chu()
{
int a,b,c;
printf("兩個(gè)數(shù)");
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("疊加的結(jié)果=%d",b);
}
void jiecheng()
{
int a,b,c;
b=1;
printf("輸入要乘幾次");
scanf("%d",c);
for(a=1;a=c;a++)
{
b*=a;
}
printf("階乘的結(jié)果=%d",b);
}
int main()
{
int s=0;
while(1)
{
void DisplayMenu();
printf("\n1加2減3乘4除5疊加6階乘7退出(輸入數(shù)的時(shí)候中間用逗號隔開)");
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);
}
}
}
一個(gè)死循環(huán)在執(zhí)行中停止:
1、你在死循環(huán)中包含了break語句或return,比如if滿足某個(gè)條件就執(zhí)行break或者return。
2、你在循環(huán)中或調(diào)用的函數(shù)中,執(zhí)行了exit函數(shù),直接結(jié)束了整個(gè)程序。
3、你的代碼有錯(cuò),比如使用野指針,越界訪問數(shù)組等不可控行為。
4、內(nèi)存不足,程序終止,比如循環(huán)malloc申請內(nèi)存,但沒有釋放,又或者調(diào)用遞歸函數(shù)造成內(nèi)存溢出。
新聞標(biāo)題:c語言函數(shù)完全退出,c語言如何強(qiáng)制退出
文章分享:http://aaarwkj.com/article38/hsossp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、做網(wǎng)站、建站公司、服務(wù)器托管、手機(jī)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)