这是一个非常基本的问题,我想。
我已经编程了一年了,但我的一个朋友给我一个相当惊人的问题让我感到惊讶。
在C ++上以'int main()'开头的程序似乎即使使用'return 0;'也能完美编译已删除,未被任何其他退货声明替换。如果没有return语句,程序仍会显示“Process返回0”。
这有什么解释吗? 对不起,如果我的问题很愚蠢!
答案 0 :(得分:5)
§3.6.1/ 5:
main
中的return语句具有离开main函数(销毁具有自动存储持续时间的任何对象)并以返回值作为参数调用exit
的效果。如果控制到达main的末尾而没有遇到return语句,则效果就是执行return 0;
答案 1 :(得分:1)
来自What should main() return in C/C++?
的接受答案值得注意的是,在C ++中,int main()可以不带返回值,此时默认返回0.对于C99程序也是如此。是否应该省略返回0是值得商榷的。