#include<stdio.h>
int main(){
int a[10]={1,4,5,6,7,8,23,34,90,14567};
int mid;
int low=0;
int high=9;
while(low<high){
mid=(low+high)/2;//数组分成两段,前一段low-mid,后一段mid-high
if (a[mid]<23)//因为已经是排序好的了,所以如果mid<目标,说明前面一段没有,那就从后半段找
low=mid+1;//那么此时查找就是从原来的mid后一个到最后的high
else if(a[mid]>23)//mid如果>目标,就是说明目标就在前面这一段里
high=mid-1;//那么此时查找的就是从low到现在新的high(就是原来mid的前面一个)
else
break;
}
if(low>high)
printf("没找到哈\n");
else
printf("找到了目标哈,下标是%d",mid+1);
return 0;
}