如果函數定義是: int func(...),那么寫return 0;
成都創新互聯服務項目包括齊齊哈爾網站建設、齊齊哈爾網站制作、齊齊哈爾網頁制作以及齊齊哈爾網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,齊齊哈爾網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到齊齊哈爾省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!
如果函數定義是: void func(...),那么寫return;
如果僅想跳出循環,寫break;
程序中途跳出,和結束是兩個不同的概念。
1 要使程序中途跳出,可以使用return語句,跳出該函數。
如
int?fun(int?n)
{
int?i;
if(n0)?return?-1;//?在n為負數下,提前退出該函數。?
//執行正常功能。?
for(i=0;in;i++)
printf("%d?",?i);
}
2 要使程序提前結束, 可以調用exit()函數。?
如
int?fun(int?n)
{
int?i;
if(n0)?exit(-1);//?在n為負數下,提前結束程序。?
//執行正常功能。?
for(i=0;in;i++)
printf("%d?",?i);
}
3 二者區別:
a) 使用exit函數,會結束整個程序。 而使用return只是結束當前函數,還會到主調函數處繼續運行。
b) 在main函數中使用return語句,等效于調用exit函數,同樣會結束程序。
c) 調用exit函數時,需要引用頭文件stdlib.h。
C/C++中,用return可以從任何子函數中退出返回到主調函數,而exit()是用來退出程序返回操作系統的。至于怕把{}搞混了,那你是不可能回避的,因為{}是C/C++的重要語句成份,而且寫C/C++是提倡多用{}的——就是說不要輕易省掉,必要時還可以多加。可見,程序員們的經驗是{}不僅不會搞混,而且有助于代碼的閱讀!
函數都是并列關系,不存在一個嵌套另一個的問題,只能是一個調用另一個,在其中又調用另一個,一層層調用,正常情況都只有一個返回出口,也是一層一層返回,不能跳過。
c語言中提前結束一個子函數,可以用return 語句返回。
實例:
//用于除法,a是被除數,b是除數,當b為0的時候不能做除法,此時可以將函數提前返回,不做除法運算。函數定義如下:
int func(int a,int b)
{
if(b==0){
return false;
}
return a/b;
}
C++可以通過異常處理的throw和catch來實現從子函數的子函數直接返回主函數,匯編語言可以用jmp指令跳轉實現這個需求。
C語言主要靠函數調用和return在函數之間切換,很難做到在多層調用中直接返回主函數。雖然goto語句可以無條件跳轉,但是必須在同一個函數中使用。
因此解決的方法也是用一個特殊的值作為需要返回的標志,然后在兩層調用函數中都遇到該值就返回,但是這個方法也有兩個前提:
1)你的兩個子函數都是由返回值的函數
2)你選擇的特殊值和函數正常的返回的取值不會沖突,不會引起二義性。
因此建議你的這個問題還是用C++ 的異常去解決比較好。
分享名稱:c語言跳出子函數的語句 c++ 跳出函數
文章起源:http://m.kartarina.com/article14/hjocge.html
成都網站建設公司_創新互聯,為您提供電子商務、網站內鏈、網站策劃、定制網站、網站設計、網站維護
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯