编辑代码

#include<stdio.h>
int BSearch(int a[], int x, int low, int high)
{
	int mid;
	if (low > high)
		return -1;
	mid = (low + high) / 2;
	if (a[mid] == x)
		return mid;
	else if (x > a[mid])
		return BSearch(a, x, mid + 1, high);
	else
		return BSearch(a, x, low, mid - 1);
 
}
int main()
{
	int a[] = { 85, 63, 52, 34, 25, 17, 6};
	int x = 6;
	int b;
	b = BSearch(a, x, 0, 7);
	if (b != -1)
		printf("x在数组a中,x的值为%d,下标为%d",x,b);
	else
		printf("x的值为%d,x不在数组中",x);
}