int main跟void main有什么區別(void main()和int main(void)的區別)

導讀 您好,現在軟糖來為大家解答以上的問題。int main跟void main有什么區別,void main()和int main(void)的區別相信很多小伙伴還不知道,現...

您好,現在軟糖來為大家解答以上的問題。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函數_百度百科。

本文就為大家分享到這里,希望小伙伴們會喜歡。

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!