void main() void表示main()没有返回值。有些编译器允许这样写,但是所有的标准都未认可这样的写法。
int main(void) int表示main()函数应该返回应该整数,void表明main()不带任何参数。标准ANSI C标准要求main()函数这样做(ANSI C之前的编译器,要省略void)。有返回值的C函数要有return语句,如果遗漏main()函数中的return语句,程序在运行至最外面的右花括号时会返回0,所以可以省略main()函数末尾的return语句。
int main() 在C++中int main()和int main(void)没有区别。在C语言中这两个也都是正确的,但是第二个更标准,技术上更好。在C中,void指定了函数不接受任何参数,而int main()未指定任何参数,则可以是没有参数或者任意个参数。
所以使用int main(void)是比较好的选择。
以上内容主要来自C primer plus。
文章讨论了C和C++中main()函数的正确形式,指出标准要求C的main()应返回整数并可能接受参数,尽管许多编译器允许voidmain(),但推荐使用intmain(void)以符合标准。





