问一下程序错在哪儿,题目要求是用函数实现折半查找:int biSearch(int *, int),传入一个整型数组和要查找的整数,若找到返回找到数的位置信息,
#include<stdio.h>#include<string.h>
int c;
int biSearch(int *, int );
void main(void)
{int i,is;
float a[12],*p;
p=a;
printf("please enter:");
for(i=0;i<12;i++)
scanf("%d",&a[i]);
scanf("%d",&is);
biSearch(int *p, int is);
}
int biSearch(int *q, int r)
{int top,low,mid,iFlag;
iFlag=0;
low=0;
top=11;
do{ mid=(top+low)/2;
if(r==q[mid])
{iFlag=1;printf("(v!v)\n");}
else if(r<q[mid])
top=mid-1;
else
low=mid+1;
}while(low<=top&&iFlag==0);
if(iFlag==0) printf("(v!v)\n");else printf("(^!^)\n");
}