#include<stdio.h>
int main(void)
{
int arr[]={1,2,3,4,5};
int len=sizeof(arr)/sizeof(arr[0]);
int left=arr[0];
int right=len-1;
int number=2;
int mid=0;
int i;
for(i=0;i!=arr[mid];i++)
{
mid=(left+right)/2;
if(number>arr[mid])
{
left=mid+1;
}
else if(number<arr[mid])
{
right=mid-1;
}
{
if(number==arr[mid])
{
printf("找到了 %d\n",arr[mid]);
}
else
{
printf("找不到\n");
}
}
}
}
int left=arr[0];这里错了, 应该是int left=0;
如有帮助,请采纳一下,谢谢。
结果输出 找不到 找到了2