void函数代表没返回值,那return 0;又有什么用?
void函数代表没返回值,那return 0;又有什么用? |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
如果一个函数声明返回类型为void,那么在其中就不应该写 return 0; 或者说return后面就不应该带有值。
返回类型为void,就说明这个函数无需返回值,那么当你需要函数返回时直接写 return; 即可。 |
|
|
|
|
看到有人提到main函数的情况。
首先要强调一点:C标准规定main函数的返回类型是int! 写成 void main 是不规范的!
前面我的回答中说过,如果函数返回类型为void,那么return后面就不应该有值。 相对地,如果函数声明有返回类型,那么就必须写上return 相应的值;,return后面不写值是不对的,不写return语句也是不对的。
那既然main函数的返回类型为int,为什么有时可以不在main函数中写return语句呢?
这是因为C标准对main函数有个例外规定:在main函数中省略return语句的话,会默认返回0。 所以你可以在main函数中不写return语句并不是因为你把main函数声明为void main(声明成void main永远是错的)。
但注意,和其他有返回类型的函数一样,你也不能在main函数中只写return;而不带上返回值。 |
|
|
|
|