在ACM ICPC墨西哥比赛的最后一周,我错过了C ++项目的“返回0”。出于这个原因,我们受到了20分钟的惩罚。
我读过标准并没有强迫我们在主函数的末尾写它。这是隐含的,不是吗?我怎样才能证明这一点?
我们使用的是带有G ++编译器的Fedora系统。
答案 0 :(得分:27)
您可以参考C ++标准,第3.6.1章第5段:
main中的return语句有 离开主要功能的效果 (用自动摧毁任何物体 存储持续时间)和呼叫 以返回值退出 论点。如果控制到达终点 主要没有遇到回报 声明,效果是 执行
return 0;
如果您手边没有标准,则可以在工作草案中显示该段落。这是c ++ 98的一个,已经定义了这个。
您可以了解更多here。
答案 1 :(得分:0)
您可以在Bjarne Stroustrup's book中向他们展示定义标准所在位置的行:因为它是该语言的规范标准,所以不容争论。不幸的是,我没有副本可以自己查找。