main 的返回值
您可能已經注意到main
的返回型別是 int
,但本章及之前章節中的大多數示例實際上都沒有從 main
返回任何值。好了,這裡有一個訣竅:如果
main
的執行正常結束而沒有遇到 return
語句,編譯器會假定函式以隱式 return 語句結束。
|
|
請注意,出於歷史原因,這僅適用於函式
main
。所有其他具有返回型別的函式都應以正確的 return
語句結束,該語句包含一個返回值,即使該返回值從未使用過。當
main
返回零(隱式或顯式)時,環境將其解釋為程式成功結束。main
可以返回其他值,並且某些環境以某種方式允許呼叫者訪問該值,儘管這種行為不是必需的,也並非在不同平臺之間可移植。main
的值保證在所有平臺上以相同方式解釋為:值 | 描述 |
---|---|
0 | 程式成功執行 |
EXIT_SUCCESS | 程式成功執行(與上面相同)。 此值在標頭檔案 <cstdlib> 中定義。 |
EXIT_FAILURE | 程式失敗。 此值在標頭檔案 <cstdlib> 中定義。 |
由於
main
的隱式 return 0;
語句是一個棘手的例外,一些作者認為顯式編寫該語句是一種好習慣。