读书人

return 无法返回,该怎么解决

发布时间: 2012-05-22 18:18:54 作者: rapoo

return 无法返回

C/C++ code
int BiSearch(int a[],int low, int high,int val){    int mid=(low+high)/2;    while(low<=high)    {        if(a[mid]<val)low=mid+1;        else if(a[mid>val])            high=mid-1;        else            return mid;//无法返回,是怎么回事    }    return -1;}


int a[]={89,890,8900,89000,6878800};
int pos=BiSearch(a,0,4,8900);




[解决办法]
else if(a[mid>val])

应该是
else if(a[mid]>val)
[解决办法]
把 mid=(low+high)/2;
放到while循环里面就可以了
[解决办法]
楼主的写错啦。
你的
C/C++ code
if(a[mid>val])
[解决办法]
探讨
ls 你看看你提供的是什么玩意

一模一样

读书人网 >C语言

热点推荐