1.void main() 这么定义只是说明main函数没有返回值
int main(void)和int main()是一样的,括号里没有东西就相当于void,
只是说明main函数有一个int类型的返回值
2.C语言的规范里面要求main函数需要返回一个int类型的返回值来告诉操作系统这个程序是执行正确还是执行错误。执行正确返回0,执行错误返回非0。但是目前操作系统都不去判断这个返回值,所以你写成void main()还是int main()其实是一样的,没有什么区别。不过既然有规范,还是推荐写成int main()这种形式。
3.有的编译器必须main要有返回值 int , 那就写成int main 。
至于什么时候需要哪种写法,可以一律都写成 int main ,然后在方法体中最后加个return 0 ;就行了,