c語(yǔ)言退出整個(gè)程序或函數(shù)的命令是return、goto 、break 、break。
成都創(chuàng)新互聯(lián)始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營(yíng)理念,通過(guò)多達(dá)十多年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)營(yíng)銷解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:成都展覽展示等企業(yè),備受客戶贊許。
1、return 返回;
return 表示從被調(diào)用函數(shù)返回主調(diào)函數(shù)繼續(xù)執(zhí)行,返回時(shí)可附帶一個(gè)返回值,由return后面的參數(shù)設(shè)定。
2、goto 無(wú)條件跳轉(zhuǎn);
goto語(yǔ)句也稱作無(wú)條件轉(zhuǎn)移語(yǔ)句,其一般格式為goto語(yǔ)句標(biāo)號(hào):其中語(yǔ)句標(biāo)號(hào)是按照標(biāo)識(shí)符規(guī)定書(shū)寫(xiě)的符號(hào),放在某一行語(yǔ)句行的前面,標(biāo)號(hào)后加冒號(hào)(:)。
3、break 調(diào)處最近一層塊;
大多數(shù)情況下是終止上一層的循環(huán),C語(yǔ)言中break在switch中執(zhí)行一條case后跳出語(yǔ)句的作用 ?使程序跳出switch執(zhí)行switch以后的語(yǔ)句 如果沒(méi)有break switch會(huì)從滿足條件的地方執(zhí)行到switch結(jié)構(gòu)結(jié)束。
擴(kuò)展資料
break語(yǔ)句使用
示例:
#include stdio.h
void main()
{
int x=1;
while(x=4)
{
printf("x=%d\n",x);
if (x==3)
{
break;
}
x++;
}
}
如果函數(shù)在正常結(jié)束后返回主函數(shù),則不用額外添加任何語(yǔ)句,到函數(shù)結(jié)束后自動(dòng)返回主函數(shù);
如果是在函數(shù)中間某個(gè)分支處需要直接退出函數(shù)返回到主函數(shù),則可以添加return;語(yǔ)句行,程序執(zhí)行到這一語(yǔ)句后,就會(huì)立即返回到主函數(shù)。當(dāng)然也可以通過(guò)讓分支跳轉(zhuǎn)到函數(shù)末尾的地方來(lái)返回主函數(shù)。
C++可以通過(guò)異常處理的throw和catch來(lái)實(shí)現(xiàn)從子函數(shù)的子函數(shù)直接返回主函數(shù),匯編語(yǔ)言可以用jmp指令跳轉(zhuǎn)實(shí)現(xiàn)這個(gè)需求。
C語(yǔ)言主要靠函數(shù)調(diào)用和return在函數(shù)之間切換,很難做到在多層調(diào)用中直接返回主函數(shù)。雖然goto語(yǔ)句可以無(wú)條件跳轉(zhuǎn),但是必須在同一個(gè)函數(shù)中使用。
因此解決的方法也是用一個(gè)特殊的值作為需要返回的標(biāo)志,然后在兩層調(diào)用函數(shù)中都遇到該值就返回,但是這個(gè)方法也有兩個(gè)前提:
1)你的兩個(gè)子函數(shù)都是由返回值的函數(shù)
2)你選擇的特殊值和函數(shù)正常的返回的取值不會(huì)沖突,不會(huì)引起二義性。
因此建議你的這個(gè)問(wèn)題還是用C++ 的異常去解決比較好。