如何消除这个错误尝试了一切.... 这个程序是关于从数组中找到 5 个最接近的数字...... 在主要部分,我简单地获取数组、num 和 size 并通过函数
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]);
}
}
最佳答案
a
被声明为 int
,但您在这里尝试将其用作数组:
diff[i]=abs(a[i]-x);
关于c - 下标值既不是数组也不是指针也不是c中的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29815089/