【发布时间】:2014-07-21 14:52:18
【问题描述】:
我无法弄清楚为什么会发生此错误:错误:控制可能到达非无效函数的结尾。
我了解该错误意味着该函数可能会在没有返回任何内容的情况下到达末尾,但我无法弄清楚这是如何发生的。
我只是将一个非空数组传递给函数,如果这是任何安慰的话。
代码如下:
int recursivesearch(int values[], int lower, int upper, int value)
{
int mid = (lower+upper)/2;
if(lower>upper)
return false;
if(value>values[mid])
recursivesearch(values,mid+1,upper,value);
else if(value<values[mid])
recursivesearch(values,lower,mid-1,value);
else
return mid;
}
由于最后一条语句只是一个 'else' 条件,它会确保返回,对吗?
【问题讨论】: