2012-11-24 118 views
6

在C++中,3.6.1主要功能我可以在C中省略主返回吗?

(3.6.1/5)在主return语句具有离开主函数(破坏用自动存储持续时间的任何对象)和 调用带有出口的效果返回值作为参数。 如果控制权到达 主体的末尾而没有遇到返回语句,则效果是 即执行返回0;

我可以在没有返回0的情况下在C99中执行以下操作吗?

int main() { } 
+6

的值你有一个C++标准但不是C标准? –

+0

@CarlNorum:难道他们都花钱吗? – NPE

+0

@NPE:C99标准在线免费提供。可能的重复也回答了这个问题:http://stackoverflow.com/q/204476/1202636 – effeffe

回答

11

是的,作为C99的,达到了在}主返回0的结束时,如果的main返回类型是与int兼容。

5.1.2.2.3计划终止

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

6

是,C99标准说(§5.1.2.2.3):

到达该终止main功能}返回0

相关问题