我可以省略C中main的返回吗?

时间:2012-11-24 20:29:50

标签: c++ c main c99

在C ++中,3.6.1主要功能

  

(3.6.1 / 5)main中的return语句具有离开main函数的效果(销毁具有自动存储持续时间的任何对象)和   以返回值作为参数调用exit。 如果控制到达   main的结尾没有遇到return语句,效果是   执行返回0;

我可以在C99中执行以下操作而不返回0吗?

int main() { }

2 个答案:

答案 0 :(得分:13)

是,从C99开始,如果}的返回类型与main兼容,则在主要结束时返回int 0。

  

5.1.2.2.3程序终止

     

如果main函数的返回类型是与int兼容的类型,则从初始调用到main函数的返回等同于使用值调用exit函数由main函数返回作为其参数; 11)到达终止}函数的main返回值0.如果返回类型不是与int兼容,未指定返回到主机环境的终止状态。

答案 1 :(得分:6)

是的,C99标准说(§5.1.2.2.3):

  

到达终止}函数的main返回值0.