上周在ACM ICPC墨西哥大赛上,我错过了一个C++程序的“返回0”。因此,我们被罚了20分钟。
我读到过该标准并不要求我们在main函数的末尾编写它。这是隐含的,不是吗?我怎么证明呢?
我们使用的是带有G++编译器的Fedora系统。
发布于 2008-11-10 01:09:34
您可以参考C++标准,第3.6.1章第5段:
main中的return语句的作用是离开main函数(销毁任何具有自动存储持续时间的对象),并以返回值作为参数调用exit。如果控制到达main的末尾而没有遇到return语句,则效果是执行
return 0;
如果您手头还没有标准,您可以在工作草案中显示段落。这里有一个用于c++98的,它已经定义了这一点。
您可以了解更多here。
发布于 2008-11-10 01:12:43
您可以向他们展示Bjarne Stroustrup's book中定义标准的那一行,因为它是该语言的规范标准,这是没有争议的。不幸的是,我没有一份可以自己查的副本。
https://stackoverflow.com/questions/276807
复制相似问题