正确而且标准的方式应该是int main()或者int main(int argc, char* argv[])
原因是:main函数的返回值是用来表示程序的退出状态的,return 0表示无错误,其他的返回值根据系统不同可能代表不同的类型,如果不返回可能会无法检测到错误。
另外一个原因是:如果返回值是返回到栈上的,则程序未返回值的情况下,程序的调用者会从栈上误pop一个值认为是程序的返回值,这样的话就会造成下面的操作错误,因为多pop了一个值。
具体可以看:http://www.eskimo.com/~scs/readings/voidmain.960823.html