在下面的二分查找函数返回整数类型的值中,为什么我们要在递归调用时在 else if 语句中使用返回值?如果我直接使用递归调用而不是作为回报使用它,代码将不起作用。
int binarysearch(int l,int h,int key)
{
int mid;
mid=(l+h)/2;
if(l<=h)
{
if(key==a[mid])
return mid;
else if(key>a[mid])
return(binarysearch(mid+1,h,key));
else if(key<a[mid])
return(binarysearch(l,mid-1,key));
}
else
return -1;
}
Run Code Online (Sandbox Code Playgroud)