什么是函數的返回值?
- 函數的返回值是函數被調用后,執行所調用函數內代碼后所得出的結果,并且將返回給主函數的值。
我們舉個簡單的例子:
- 有一天,你想要知道自己銀行卡內還有多少錢,于是你前往ATM機進行查詢,經過查詢,ATM機告訴你你的卡里只剩 50 元錢。
在這個例子中:
- 你想要知道銀行卡內有多少錢 ≈ 主函數中程序的內容
- 使用ATM機查詢這個行為 ≈ 函數
- ATM機顯示你的余額 ≈ 返回值
返回值怎樣表達?
- 函數的返回值通過 return 語句返回主函數
return 表達式;
返回值的類型
- 返回值的類型要與定義函數時函數的類型一致
舉例:
int Add(int a,int b)
{
return a+b; // 返回值表示兩個整數的和,也是 int 類型
}
我們這個函數定義的類型是 int 型,那么返回值的類型就也要是 int 型。
函數沒有返回值的情況
一個函數可以沒有返回值。
- 如果函數沒有返回值,函數類型定義為 void 表示 空
舉例:
我們對上面的函數稍作修改
void Add(int a,int b)
{
printf("%d",a+b); // 輸出 a+b
}
同樣是計算兩數之和,修改后的函數不再將結果返回給主函數,由主函數輸出,而是直接在函數內輸出。
此時函數定義時,就要為 void 類型。
- 一般來說,void 類型的函數中是沒有 return 語句的。
- 但在某些情況需要使用 return 語句起到結束函數的作用。
- 比如 “遞歸”。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
函數
+關注
關注
3文章
4332瀏覽量
62666 -
代碼
+關注
關注
30文章
4790瀏覽量
68654 -
void
+關注
關注
0文章
23瀏覽量
9875 -
Return
+關注
關注
0文章
9瀏覽量
7618
發布評論請先 登錄
相關推薦
C語言函數的返回值
當然,C語言程序員中還有一種“行業潛規則”。如果定義的函數是個布爾函數,也即返回值顯式的使用類似于 bool 關鍵字定義,或者函數名類似于 is_true(),那么顯然此時應該遵守C語
發表于 08-31 10:11
?1685次閱讀
關于c語言函數返回值的討論
本文轉自他們博客,介紹了c語言函數返回值的一些知識,是我在學習過程中積累的,希望能幫到大家!{:soso__16249759529752583092_2:}
發表于 08-31 09:17
請問為什么不論我用哪個核調用MultiProc_self()這個函數,返回值都是0啊?應該如何解決?
本帖最后由 一只耳朵怪 于 2018-6-25 15:11 編輯
為什么不論我用哪個核調用MultiProc_self()這個函數,返回值都是0啊。而且當我試圖使用DNUM的時候,DNUM的值竟然是256.。請問一下這是什
發表于 06-25 01:56
關系函數返回值的問題,返回是vxx_pdcch_true_or_false=1,但是使用if(vxx_pdcch_true_or_false ==0)語句判斷竟然是成立的
關系函數返回值的問題,返回是vxx_pdcch_true_or_false=1,但是使用if(vxx_pdcch_true_or_false ==0)語句判斷竟然是成立的
沒有開優化
如圖:
發表于 08-03 07:43
請問ll_McuPrecisionCount( )這個函數返回值是625us個數嗎?
兩個問題1,uint16 ll_McuPrecisionCount(void); 這個函數返回值是625us個數是吧?我在網上搜的資料有的說是325us,關于這個函數的講解有沒有官方手冊?2,這個
發表于 10-30 09:46
temp不能得到函數的返回值
main(){u16 temp;.....temp= function(x,y);temp=temp&0xff;......}在此程序中,temp無法得到函數的返回值,但是,如果將程序改成
發表于 03-09 01:27
請問這兩個函數返回值有什么區別?
如題: 請問:下面這兩個函數返回值有什么區別?如果分別連續調用10次該函數,返回值分別是多少呢?最好能簡單分析一下,謝謝! int GetValue(void) { int f
發表于 05-12 03:03
淺談C語言return語句和main 函數的返回值
在函數中,如果碰到return 語句,那么程序就會返回調用該函數的下一條語句執行,也就是說跳出函數的執行,回到原來的地方繼續執行下去。但是如果是在主
發表于 05-10 10:53
?5317次閱讀
C語言函數返回值,竟也有潛規則
基本上,沒有人會將大段的C語言代碼全部塞入 main() 函數。更好的做法是按照復用率高、耦合性低的原則,盡可能的將代碼拆分不同的功能模塊,并封裝成函數。
發表于 11-25 09:32
?361次閱讀
評論