一个按大小顺序输入的数组中:查找一个元素的位置。请教高手程序哪里出错
问题:无法输入需要查找的数字:X 请问哪里出错?#include<stdio.h>
int binsearch(int x, int v[], int n)
{
int low, high, mid;
low = 0;
high = n-1;
while (low <= high)
{
mid = (low+high)/2;
if (x < v[mid])
high = mid + 1;
else if (x > v[mid])
low = mid + 1;
else /* found match */
return mid;
}
return 1;
/* no match */
}
main()
{
int x,i,c,n;
int v[10];
printf("请输入数组:");
for(i=0;i<100;i++){
scanf("%d",&v[i]);
if(v[i]=='\0')
break;
}
printf("请输入要查找的数:");
scanf("%d",&x);
c=binsearch(x, v, n);
if(c==(-1))
printf("不存在\n");
else
printf("在数组中位于%d位\n",c);
}
[ 本帖最后由 如风似水 于 2013-8-8 10:51 编辑 ]