C語言中return怎么用,主函數中一定要用嗎?
2 回答

郎朗坤
TA貢獻1921條經驗 獲得超9個贊
return,顧名思義,從函數調用執行中返回,可以分兩種情況:
1)void
2)非void
對于void,在函數的最后一行代碼,可以不用;其他地方,因為你要返回函數調用,所以必須要用。
對于非void,既然函數返回值類型定義為非void,那么肯定需要使用這個函數的返回值。比如返回值是函數運行結果,或者表明函數運行結果是成功還是失敗。這種情況,即使是函數最后一行,也需要使用。
對于有些情況,沒有return,編譯器也不會報錯,比如main函數 (編譯器會默認返回值為0,假設你的main函數返回值是int)。但是為了保持良好的習慣,還是建議使用。比如你寫的程序編譯后需要在腳本中調用,我們可以通過檢查你的程序的結束代碼來判斷你的程序的執行情況,成功或是失敗。這時候的檢查就依賴于你是否在main函數中正確使用了return。

ABOUTYOU
TA貢獻1812條經驗 獲得超5個贊
在C語言中,return語句的作用是返回函數的值,如下代碼:
123456789101112 | #include<stdio.h> int f( int a) //定義函數f() { return a*2; //返回值a*2 } int main() //定義main()的類型為int { int a; scanf ( "%d" ,&a); printf ( "%d\n" ,f(a)); //調用函數f(),并輸出函數的返回值 return 0; } |
在上述程序中的fun()函數中,利用return語句返回值a*2的值,在main()主函數中,因為定義其類型為int(整型),所以返回值0,以檢測是否運行正常。
當然,在C語言中,如果定義函數的類型為void(無類型),則無需運用return語句,main()主函數也一樣,如下代碼:
1234567891011 | #include<stdio.h> void f( int a) //定義函數f() { printf ( "%d\n" ,a*2); //輸出a*2的值 } void main() //定義main()的類型為void { int a; scanf ( "%d" ,&a); f(a); //調用函數f() } |
兩個程序的作用相同,都是輸出所輸入數據的兩倍,區別在于函數的類型。
- 2 回答
- 0 關注
- 1648 瀏覽
添加回答
舉報
0/150
提交
取消