#include<stdio.h>
#define MAX_N 100
int solved(int a[ ],int n,int k)
{
int ub=(n-1),lb=0;
while(ub>=lb)
{
int mid=(lb+ub)/2;
if(a[mid]==k)
return (mid);
else if(a[mid]>=k)
ub=mid;
else
lb=mid;
}
return (-1);
}
int main()
{
int n,k,i,m;
int a[MAX_N];
scanf("%d%d",&n,&k);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
m=solved(a,n,k);
printf("%d\n",m);
return 0;
}
有两处错了:
k在辅助函数中没有
二是,你的副函数怎么是void,那怎么能调用返回值付给m