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。