您好,現在軟糖來為大家解答以上的問題。int main跟void main有什么區別,void main()和int main(void)的區別相信很多小伙伴還不知道,現在讓我們一起來看看吧!
1、void main 和 int main的區別就是有無返回值。
2、在int main 可以出現非 int 類型的東西。
3、在寫代碼時,一個函數要么有返回值,要么沒有返回值沒有返回值就用void來表示。
4、 main函數同樣的,在沒有返回值時加個void 。
5、有的編譯器必須main要有返回值 int , 那就寫成int main 。
6、至于什么時候需要哪種寫法,不必有這種顧慮,你可以一律都寫成 int main ,然后在方法體中 最后加個return 0 ;就行了。
7、void main 和 int main 在作用上其實沒什么區別啊,只是有的嚴謹的編譯器必須要main有int 返回值而已,這兩種寫法跟自定義的函數沒任何關系。
8、擴展資料:main 函數的返回值類型必須是 int ,這樣返回值才能傳遞給程序的激活者(如操作系統)C/C++中從來沒有定義過void main()。
9、C++之父Bjarne Stroustrup在他的主頁上的FAQ中明確地寫著The definition void main() } is not and never has been C++, nor has it even been C.(void main() 從來就不存在于C++或者C)。
10、在C和C++中,不接收任何參數也不返回任何信息的函數原型為“void foo(void);”。
11、可能正是因為這個,所以很多人都誤認為如果不需要程序返回值時可以把main函數定義成void main(void) 或者是void main()。
12、然而這是錯誤的!main函數的返回值應該定義為int類型,C和C++標準中都是這樣規定的。
13、雖然在一些編譯器中,void main可以通過編譯(如vc6),但并非所有編譯器都支持void main,因為標準中從來沒有定義過void main。
14、g++3.2、dev C++等環境中如果main函數的返回值不是int類型,根本無法通過編譯。
15、而gcc3.2則會發出警告。
16、所以,如果你想你的程序擁有很好的可移植性,請一定要用int main。
17、參考資料:main函數_百度百科。
本文就為大家分享到這里,希望小伙伴們會喜歡。