0

我听说有人说返回类型main是严格的int

 int main(){
     printf("hello world");
     return 0; // returning 0 to main indicates successful execution
 }

相反,我尝试了简单return的。

 int main(){
     printf("hello world");
     return; // 
 }

它不会引发任何警告或错误。我想知道它是否返回0或像 JavaScript 中的一些未定义的值?

我在读这个问题return false 和 return 一样吗?也就是说returnreturn false两者在 JavaScript 中是不同的。在C语言中是一样的吗?

4

2 回答 2

7

C 标准明确声明为一个约束:

带有表达式的 return 语句不应出现在返回类型为 void 的函数中。没有表达式的 return 语句只能出现在返回类型为 void 的函数中。

也不main例外。所以不,这是标准不允许的。

与其他功能相比,标准允许作为例外的是,控制可能在没有明确声明的情况下最终main退出。但这两个东西是不一样的。mainreturn

于 2013-10-16T11:54:29.960 回答
0

(注意:此答案不正确。请参阅Jens答案。)

C 标准规定,main()函数中,一个空的返回,或者从末尾脱落,与return 0. 对于所有其他功能,它是行不通的。

于 2013-10-16T11:35:24.460 回答