如何删除此错误尝试了一切.... 这个程序是关于从数组中找到5个最接近的数字... 在主要部分我简单地采用数组,数字和大小并通过函数
void printclosest(int arr[], int x, int n)
{
int diff[30];
int i,j,k,p,a;
for (i = 0; i < n; ++i)
{
for (j = i + 1; j < n; ++j)
{
if (arr[i] > arr[j])
{
a = arr[i];
arr[i] = arr[j];
arr[j] = a;
}
}
}
for(i=0;i<n;i++)
{
diff[i]=abs(a[i]-x);
}
for (k = 0; k < n; ++k)
{
for (p = k + 1; p < n; ++p)
{
if (diff[k] > diff[p])
{
a = arr[k];
arr[k] = arr[p];
arr[p] = a;
}
}
}
for(i=0;i<5;i++)
{ printf("%d",arr[i]);
}
}
答案 0 :(得分:3)
a
被声明为int
,但您尝试将其用作数组:
diff[i]=abs(a[i]-x);