Int main()和void main()以及的区别?

      很多人甚至市面上的一些书籍,都使用了void main( ),其实这是错误的。C/C++中从来没有定义过void main( )。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)。

      main函数,又称主函数,作为绝大大部分C程序唯一的入口,一般是要求有返回值的,0代表程序正常执行成功,返回非0值代表程序异常结束,因此返回值需要是int整型,这样返回值才能传递给程序的调用者(如操作系统)于是有了int main( )的规范如果没加return 0; C99编译器自动给你在代码后添加(自己写上是个好习惯)。如果使用```void main( )```,在代码最后也声明返回值return 0; 的话,程序随能编译运行成功,却不利于操作系统判断其状态,这对于由很多C程序构成的大型项目来说是可能各种毛病

  总之main函数的返回值应该定义为int类型,C和C++标准中都是这样规定的。虽然在一些编译器中,void main()可以通过编译(如vc6),但并非所有编译器都支持void main(),因为标准中从来没有定义过void main()。g++3.2中如果main函数的返回值不是int类型,就根本通不过编译。而gcc3.2则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用int main。

posted @ 2021-11-02 00:15  iZJ"Qq4577105  阅读(658)  评论(0编辑  收藏  举报