char/float/double(其他原始數據類型)爲什麼不是main()的返回類型?c/C++中main()的默認返回類型
-3
A
回答
1
因爲這就是語言設計的主要方式。
歷史上(即在制定ISO/IEC 9899之前),沒有void
。具有您不關心的返回值的函數在沒有返回類型的情況下被聲明,隱式返回類型爲int
。當時,它實際上並沒有不管什麼main()
回來了,那個叫main()
的代碼是這樣的:
setup_stuff();
main(argc, argv);
exit(0);
當main()
返回,該方案與想返回0程序退出狀態結束非零退出狀態必須明確地呼叫exit()
。 Plan 9保留了這個模型。有些人認爲這是過於嚴格,並改變了這種代碼返回main()
,而不是返回值:
setup_stuff();
exit(main(argc, argv));
這就是我們如何結束了main()
返回一個int
。就我所知,C++只是從C複製了這個設計方面。
+0
Int是默認返回類型的main() – geeksam
相關問題
- 1. C++ void返回類型main()
- 2. C:返回類型默認爲Int
- 3. Rhino Mocks默認返回類型?
- 4. 你如何在C++中返回一個類的默認類型
- 5. Hello.c:函數'main':Hello.c:13:warning:'main'的返回類型不是'int'?
- 6. 警告:返回類型默認爲「詮釋」 [-Wreturn型]
- 7. MySQL的:不正確的數據類型返回默認的行
- 8. std :: bind返回的類型是默認構造的嗎?
- 9. 與非默認類型的函數的返回值
- 10. 返回默認值
- 11. 返回默認值表單模型場
- 12. 什麼類型的數據默認返回/ dev/random?
- 13. MySQL默認返回0默認
- 14. 從A類返回到B類,然後返回Main類的值?
- 15. 的JavaScript返回默認值
- 16. main()中的返回返回到哪裏?
- 17. 返回默認枚舉值,當枚舉類型未知
- 18. 返回類型默認爲 'INT' 在C代碼
- 19. error class method'+ spriteWithFile:rect'not found(返回類型默認爲'id')cocos2d錯誤
- 20. 方法'-cleanTitle'。沒有找到(返回類型默認爲'ID')
- 21. 未找到實例方法'-objectFromJSONString'(返回類型默認爲'id')
- 22. 未找到實例方法(返回類型默認爲id)
- 23. 實例方法'-jsonValue'未找到(返回類型默認爲'id')
- 24. 找不到方法(返回類型默認爲「身份證」)
- 25. main()函數中的默認初始化
- 26. windows中main()的返回值
- 27. 當我在int main()之前聲明Shortf函數時,獲取「返回類型默認爲'int'」警告。爲什麼?
- 28. BASIC中函數的默認返回值
- 29. Doxygen中返回值的默認描述
- 30. FormsAuthentication.GetRedirectUrl總是返回默認
這可能是有用的:http://stackoverflow.com/questions/449851/why-do-we-need-to-use-int-main-and-not-void-main-in-c –
規範這些問題的重複是[什麼應該'main()'返回在C和C++?](http://stackoverflow.com/questions/204476/) –