2012-11-24 81 views
6

在C++中,3.6.1主要功能我可以在C中省略主返回嗎?

(3.6.1/5)在主return語句具有離開主函數(破壞用自動存儲持續時間的任何對象)和 調用帶有出口的效果返回值作爲參數。 如果控制權到達 主體的末尾而沒有遇到返回語句,則效果是 即執行返回0;

我可以在沒有返回0的情況下在C99中執行以下操作嗎?

int main() { } 
+6

的值你有一個C++標準但不是C標準? –

+0

@CarlNorum:難道他們都花錢嗎? – NPE

+0

@NPE:C99標準在線免費提供。可能的重複也回答了這個問題:http://stackoverflow.com/q/204476/1202636 – effeffe

回答

11

是的,作爲C99的,達到了在}主返回0的結束時,如果的main返回類型是與int兼容。

5.1.2.2.3計劃終止

如果main函數的返回類型爲int類型兼容,從最初的調用main功能的回報是等同於調用exit函數以main函數返回的值作爲其參數; 11)達到}終止main函數返回值爲0.如果返回類型與int不兼容,則返回到主機環境的終止狀態未指定。

6

是,C99標準說(§5.1.2.2.3):

到達該終止main功能}返回0

相關問題