menu函數(shù)做成死循環(huán)
創(chuàng)新互聯(lián)公司是專業(yè)的阿城網(wǎng)站建設(shè)公司,阿城接單;提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行阿城網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
int?menu()?????????????????????????????????//菜單函數(shù)
{
void?startTest();
void?checkScores();
int?exitTest();
int?number;
int?flag_exit=0;???//用來(lái)判斷是否退出死循環(huán)
while(1)
{
system("cls");
printf("MENU\nPress?1?to?start?a?test.\nPress?2?to?check?scores.\nPress?3?to?Exit.");
scanf("%d",?number);
switch?(number)???????????????//用戶選擇做測(cè)試,查分還是退出
{
case?1:
startTest();
break;
case?2:
checkScores();
break;
case?3:
exitTest();
flag_exit=1;?////////
break;
default:
printf("You?have?entered?a?wrong?number,?please?enter?again:\n");
break;
}
if(flag_exit==1)
{
break;
}
}
}
直接跳回一個(gè)地方 C用setjmp, longjmp C++則用try catch throw的異常處理機(jī)制 return則返回調(diào)用的函數(shù)舉一個(gè)C++的例子,函數(shù)從funcB直接返回了主函數(shù)main: int funcA() { int a; funcB(); //之后的語(yǔ)句都不會(huì)執(zhí)行 a = 1; a *= 2; return a; } void funcB() { throw int(0); } int main() { int r = 0; try { r = funcA(); } catch (...) { // 該程序直接跳到這里 // r仍然等于0 } return 0; }
所謂返回值,就是人們想要知道函數(shù)或者程序所得到 的結(jié)果而設(shè)計(jì)的函數(shù)或者程序結(jié)束時(shí)給出一個(gè)值。比如:我們編寫(xiě)一個(gè)加法函數(shù),肯定想知道加完過(guò)后的結(jié)果是什么,那么我們就指定這個(gè)結(jié)果為該加法程序的返回值。
關(guān)于返回值的返回:
1、函數(shù)調(diào)用語(yǔ)句本身代表其返回值:例如:fun(a);那么“fun(a)”就是這個(gè)返回值。
2、可以把返回值存到對(duì)應(yīng)類型的變量之中。例如:int a=fun(b);
3、返回值是多種多樣的,可以是各種各樣的,int short char double 等等,還可以是指針或者結(jié)構(gòu)體。在數(shù)據(jù)結(jié)構(gòu)的二叉樹(shù)部分,某一個(gè)函數(shù)的返回值是一個(gè)帶有兩個(gè)指針的結(jié)構(gòu)體。