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

use*_*241 8 c program-entry-point c99

在C++中,3.6.1主要功能

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

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

int main() { }
Run Code Online (Sandbox Code Playgroud)

Dan*_*her 13

是的,从C99开始,}如果返回类型main兼容,则到达主要返回0的末尾int.

5.1.2.2.3程序终止

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


Jos*_*eld 6

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

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