c - 下标值既不是数组也不是指针也不是c中的 vector

标签 c arrays

如何消除这个错误尝试了一切.... 这个程序是关于从数组中找到 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/

相关文章:

java - 在 O(n^2) 中查找数组中的所有三元组

c++ - C/C++中的gettext国际化系统的性能开销

c - 为什么 GCC 会为几乎相同的 C 代码生成如此截然不同的程序集?

c - 从函数调用返回后指针为空

java - 使用 Arrays.sort() 对具有自定义行数和列数的二维数组进行排序

php - 如何从 HTTP_ACCEPT_LANGUAGE 订购字符串

c++ - 使用 Microsoft Visual Studio 2010 IDE 进行精确的库链接顺序控制

c - scanf 指针段错误

javascript - 使用 for 循环和数组创建动态 anchor 标记生成器函数

javascript - 在 Javascript 中发现相同值时更新数组