void main和int main的区别(void main()和int main(void)的区别)
大家好,今天小六子来为大家解答以下的问题,关于void main和int 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函数_百度百科。
本文分享完毕,希望对你有所帮助。