#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int arr[10] = { 0,1,2,3,4,5,6,7,8,9 };
int n;
int sz = sizeof(arr) / sizeof(arr[0]);
scanf(" %d" , &n);
int left = 0;
int right = sz - 1;
while (left < right)
{
int mid = (left + right) / 2;
if (n > arr[mid])
{
left = mid + 1;
}
else
if (n < arr[mid])
{
right = mid - 1;
}
else {
printf("找到了要找的值:\n");
printf("%d\n", mid);
break;
}
if (left > right)
{
printf("没有找到\n");
}
return 0;
}
}
上面二分法查找有问题吗,为什么运行时只能显示输入的值呢?