gpt4 book ai didi

c - 未指定的返回值

转载 作者:太空宇宙 更新时间:2023-11-04 06:03:59 24 4
gpt4 key购买 nike

关于返回值:

func()
{
while(1)
{
/* do stuff here */
if(error1) exit(0);
if(error2) break;
}
/* no return statement anywhere in func() */
}

但是调用者检查func()的返回码

if(func()) {/* error handling */}

如果有人确认 func() 的返回值没有默认为任何值并且是垃圾,那就太好了。这对所有这些都是正确的:

  • void func()
  • int func(),它根本没有 return 语句,或者只有一个普通的 return;
  • func(),未指定的返回类型,据我所知默认返回 int。

谢谢..

最佳答案

注意:此答案适用于 C89(及更早版本)。

void func() 指定一个不返回值的函数。在这种情况下,if (func()) 应该会导致编译错误。

int func()func() 是等价的,返回一个整数值。如果 return 语句未提供任何值,则结果未定义,如果警告级别足够高,编译器会发出警告。实际上,大多数编译器生成的代码会返回用于返回值的寄存器或内存位置中的任何内容。

关于c - 未指定的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13859005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com