错误在哪?!
#include <stdio.h>
#include <stdlib.h>
void enter(int a[],int n)
{
int i;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("\n测试数据为:\n");
for(i=0;i<n;i++)
printf("%3d",a[i]);
printf("\n");
return;
}
int search(int a[], int n)
{
int left=0;
int right=n-1;
while(left<=right)
{
int middle=(left+right)/2;
if (middle==a[middle]) return middle;
if (middle>a[middle]) left=middle+1;
else right=middle-1;
}
return -1;
}
int main()
{
void enter(int a[],int n);
int search(int a[],int n);
int a[10],n;
printf("请输入测试数据数目n:");
scanf("%d",&n);
enter(a,n);
printf("查找的坐标i:");
search(a,n);
printf("\n");
}
前面运行正确,但无法输入坐标值。急啊,请大家分析一下。