什么是函數(shù)的返回值?
- 函數(shù)的返回值是函數(shù)被調(diào)用后,執(zhí)行所調(diào)用函數(shù)內(nèi)代碼后所得出的結(jié)果,并且將返回給主函數(shù)的值。
我們舉個(gè)簡(jiǎn)單的例子:
- 有一天,你想要知道自己銀行卡內(nèi)還有多少錢,于是你前往ATM機(jī)進(jìn)行查詢,經(jīng)過查詢,ATM機(jī)告訴你你的卡里只剩 50 元錢。
在這個(gè)例子中:
- 你想要知道銀行卡內(nèi)有多少錢 ≈ 主函數(shù)中程序的內(nèi)容
- 使用ATM機(jī)查詢這個(gè)行為 ≈ 函數(shù)
- ATM機(jī)顯示你的余額 ≈ 返回值
返回值怎樣表達(dá)?
- 函數(shù)的返回值通過 return 語(yǔ)句返回主函數(shù)
return 表達(dá)式;
返回值的類型
- 返回值的類型要與定義函數(shù)時(shí)函數(shù)的類型一致
舉例:
int Add(int a,int b)
{
return a+b; // 返回值表示兩個(gè)整數(shù)的和,也是 int 類型
}
我們這個(gè)函數(shù)定義的類型是 int 型,那么返回值的類型就也要是 int 型。
函數(shù)沒有返回值的情況
一個(gè)函數(shù)可以沒有返回值。
- 如果函數(shù)沒有返回值,函數(shù)類型定義為 void 表示 空
舉例:
我們對(duì)上面的函數(shù)稍作修改
void Add(int a,int b)
{
printf("%d",a+b); // 輸出 a+b
}
同樣是計(jì)算兩數(shù)之和,修改后的函數(shù)不再將結(jié)果返回給主函數(shù),由主函數(shù)輸出,而是直接在函數(shù)內(nèi)輸出。
此時(shí)函數(shù)定義時(shí),就要為 void 類型。
- 一般來說,void 類型的函數(shù)中是沒有 return 語(yǔ)句的。
- 但在某些情況需要使用 return 語(yǔ)句起到結(jié)束函數(shù)的作用。
- 比如 “遞歸”。
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4375瀏覽量
64459 -
代碼
+關(guān)注
關(guān)注
30文章
4891瀏覽量
70397 -
void
+關(guān)注
關(guān)注
0文章
23瀏覽量
10058 -
Return
+關(guān)注
關(guān)注
0文章
9瀏覽量
7809
發(fā)布評(píng)論請(qǐng)先 登錄
C語(yǔ)言函數(shù)的返回值
C語(yǔ)言中函數(shù)的返回值指向一個(gè)指針

關(guān)于c語(yǔ)言函數(shù)返回值的討論
main函數(shù)返回值的認(rèn)知
請(qǐng)問為什么不論我用哪個(gè)核調(diào)用MultiProc_self()這個(gè)函數(shù),返回值都是0???應(yīng)該如何解決?
請(qǐng)問ll_McuPrecisionCount( )這個(gè)函數(shù)返回值是625us個(gè)數(shù)嗎?
temp不能得到函數(shù)的返回值
請(qǐng)問這兩個(gè)函數(shù)返回值有什么區(qū)別?
淺談C語(yǔ)言return語(yǔ)句和main 函數(shù)的返回值
C語(yǔ)言程序開發(fā)中關(guān)于函數(shù)返回值的問題
C語(yǔ)言函數(shù)返回值,竟也有潛規(guī)則
return-函數(shù)的返回值是什么

評(píng)論