我不明白爲什麼會發生此錯誤:錯誤:控制可能會達到非無效函數的結束。錯誤:控制可能會在C中的非void函數結束 - 遞歸搜索
我明白這個錯誤意味着函數可能會在沒有返回任何東西的情況下達到最終結果,但我無法弄清楚會發生什麼。
我只傳遞一個非void數組到函數,如果這是任何安慰。
下面是代碼:
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;
}
由於最後一條語句只是一個「別人的情況下,這將確保一個回報,對不對?