return 无法返回,该怎么解决
return 无法返回C/C++ codeint BiSearch(int a[],int low, int high,int val){int mid(low+high)/2while
return 无法返回
C/C++ codeint 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++ codeif(a[mid>val])
[解决办法]