gpt4 book ai didi

c - 不确定 'control may reach end of non-void function' 错误消息的含义

转载 作者:行者123 更新时间:2023-11-30 19:16:29 24 4
gpt4 key购买 nike

尝试使用伪随机生成器执行搜索以查找值是否在数组中。每次执行时我都会收到以下消息:

helpers.c:46:1: error: control may reach end of non-void function [-Werror,-Wreturn-type]

我做错了什么?

bool search (int value, int values[], int n)
{
if (n > 0)
{
for (int i = 0; i < n; i++)
{
if (value == values[i])
return true;
else
return false;
}

}
else
return false;

}

最佳答案

你的逻辑似乎是错误的。更改

for (int i = 0; i < n; i++)
{
if (value == values[i])
return true;
else
return false;
}

for (int i = 0; i < n; i++)
{
if (value == values[i])
return true;
}
return false;

否则,循环不会执行多次。

错误消息告诉您,如果 if (n > 0)为 true 并且 for (int i = 0; i < n; i++) 中的条件是 false,那么您不会返回 bool (编译器不够智能,无法知道这不会发生)

关于c - 不确定 'control may reach end of non-void function' 错误消息的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30114874/

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