#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,i,high,list,data,c;
int *a;
printf("请输入数组长度");
scanf_s("%d",&n);
getchar();
a=(int *)malloc(n * sizeof(int));
for(i=0;i<n;i++)
{
fflush(stdin);
scanf_s("%d",a[i]);
getchar();
}
printf("请输入想要查找的数子");
scanf_s("%d",&c);
data=0;
high=n-1;
list=(data+high)/2;
for(i=0;i<n/2;i++)
{
if(c=a[list])
{
printf("查找的数字%d的下标是%d",a[list],list);break;
}
else
{
if(c>a[list])
{
data=list+1;
high=high-1;
list=(data+data)/2;
}
else
{
data=data+1;
high=list-1;
list=(data+data)/2;
}
}
if(data>high)
break;
printf("没有查到你想要的数字");
}
return 0;
}
scanf_s("%d",&a[i]);
给变量赋值要用地址符&
scanf_s("%d",&a[i]);