main 函式的返回型別為什麼必須是int型別

2021-10-06 08:50:29 字數 603 閱讀 5533

在c/c++ 中,不返回任何資訊的函式原型為「void function(…);」。可能正是因為這個,所以很多人都誤認為如果不需要程式返回值時可以把main函式定義成void main() 。然而這種做法是錯誤的!

c++primer第五版中文版(page28)明確指出,main()函式的返回型別必須是int型別,即整數型別。

雖然在一些編譯器中,void main() 可以通過編譯,但並非所有編譯器都支援void main() ,因為標準中從來沒有定義過void main() 。

main 函式只有以下兩種定義方式是正確的:

int main()

int main(int argc, char *ar**)

main 函式的返回值應該定義為 int 型別,c 和 c++ 標準中都是這樣規定的。這樣程式才能傳告訴作業系統是否成功執行完畢。

但是,main的返回值型別,寫成void也不會錯,它等效於沒有return 語句的int型別。不過為了養成良好的習慣,最好還是寫成int。

另外,return返回的數值由程式的作者自定。返回不同的值可以代表不同的含義,一般是代表出錯的原因。傳統上返回0代表程式正常結束(其它返回值代表什麼含義,需要程式的開發者向程式的使用者說明)。

c 賦值建構函式為什麼返回引用型別?

0前言 1內建型別 2自定義型別3結論 4原始碼c 預設賦值建構函式的返回值是引用型別,c 賦值運算子 的本意是返回左值的引用,我們過載賦值建構函式的時候,返回值是否應該設為引用型別呢?按照 effective c 中第10條,最好是設為引用型別。本文,通過實驗來表述返回值是否為引用型別的區別。in...

main函式的返回值

最近在面試過程中,面試官都會問些c語言容易忽視的地方,如main函式返回值的作用等。這些細節還是得學習下,雖然在實踐工作中的使用會較少。程式執行過程入口點main函式,main 函式返回值型別必須是int,這樣返回值才能傳遞給程式啟用者 如作業系統 表示程式正常退出。main int args,ch...

檢視main函式的返回值

1 printf args 等價於 fprintf stdout,args 2 main 函式的返回值是乙個狀態指示器,返回值是0表示main 函式成功執行完畢 3 訪問main 函式的返回值的方式和系統有關,不論是unix還是windows系統,執行程式後,必須發出乙個適當的echo命令。unix...