重慶分公司,新征程啟航
為企業(yè)提供網站建設、域名注冊、服務器等服務
為企業(yè)提供網站建設、域名注冊、服務器等服務
C++可以通過異常處理的throw和catch來實現從子函數的子函數直接返回主函數,匯編語言可以用jmp指令跳轉實現這個需求。
網站建設哪家好,找成都創(chuàng)新互聯公司!專注于網頁設計、網站建設、微信開發(fā)、小程序開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯還提供了博興免費建站歡迎大家使用!
C語言主要靠函數調用和return在函數之間切換,很難做到在多層調用中直接返回主函數。雖然goto語句可以無條件跳轉,但是必須在同一個函數中使用。
因此解決的方法也是用一個特殊的值作為需要返回的標志,然后在兩層調用函數中都遇到該值就返回,但是這個方法也有兩個前提:
1)你的兩個子函數都是由返回值的函數
2)你選擇的特殊值和函數正常的返回的取值不會沖突,不會引起二義性。
因此建議你的這個問題還是用C++ 的異常去解決比較好。
函數是不能直接返回兩個值的,不過可以通過數組,列表,鏈表等方式,返回多個值。
例如 int a[] f(),這個shu函數返回值就是一個整型的數組,如果你要返回兩個值,可以定義數組長度為2,a[0]保存第一個值,a[1]保存第二個值。
int fun(int a, int b, int *c, int *d);
參數是a,b,返回值是c,d,c和d用指針傳進去。
c,d可以是其他參數類型,也可以是數據結構。
函數返回值可以用于返回error。
擴展資料:
如果沒有返回值類型名為"void", 整數類型int 類型返回值為整數類型int,以此類推……
類型名有:void int long float int* long* float* ……
C++中函數的調用:函數必須聲明后才可以被調用。調用格式為:函數名(實參)
調用時函數名后的小括號中的實參必須和聲明函數時的函數括號中的形參個數相同。
有返回值的函數可以進行計算,也可以做為右值進行賦值。
參考資料來源:百度百科-函數
在C語言中主函數調用子函數,子函數被主函數調用,這就是它們之間的聯系。編寫函數主要有以下步驟,首先對函數進行定義,語法格式為:
類型說明符? 函數名 (含類型說明的形式參數表)
{
語句序列
}
形式參數的作用是實現主函數和被調函數之間的聯系。通常將函數所處理的數據、影響函數功能的因素或函數處理的結果作為形參。
然后還要確定函數的返回值及類型,格式為:
return? ?表達式;
這個語句的另一個作用是結束當前函數的執(zhí)行。一個函數可以不將任何值返回主函數,此時它的類型標識符為void,可以不寫return語句,也可以寫一個不帶表達式的return;語句。
擴展資料
C語言編程書寫規(guī)則:
1、一個說明或一個語句占一行。
2、用{} 括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,并單獨占一行。
3、低一層次的語句或說明可比高一層次的語句或說明縮進若干格后書寫。以便看起來更加清晰,增加程序的可讀性。在編程時應力求遵循這些規(guī)則,以養(yǎng)成良好的編程風格。
參考資料來源:《C++語言程序設計(第4版)》鄭莉? 董源 何江舟 編著? 清華大學出版社
第三章 函數? 3.1 函數的定義與使用
參考資料來源:百度百科--c語言
返回值只能有一個。
要返回多個, 最常用的方法是通過參數返回。 即參數用指針方式帶回
也可以把多個變量寫成結構體,然后返回結構體變量
推薦用參數帶回的方式。 效率更高。