我听过有人说回归类型main是严格的int
int main(){
printf("hello world");
return 0; // returning 0 to main indicates successful execution
}
Run Code Online (Sandbox Code Playgroud)
相反,我试着简单return.
int main(){
printf("hello world");
return; //
}
Run Code Online (Sandbox Code Playgroud)
它不会引发任何警告或错误.我想知道它是返回0还是像JavaScript一样未定义的值?
我正在读这个问题,返回假回报一样吗?这说明return并且return false两者在JavaScript中都不同.在C中它是一样的吗?
C标准明确规定为约束:
带有表达式的return语句不应出现在返回类型为void的函数中.不带表达式的return语句只能出现在返回类型为void的函数中.
并且main也不例外.所以标准不允许这样做.
main与其他函数相比,标准作为例外允许的是控件可能main在没有明确return声明的情况下最终退出.但这两件事情并不相同.