警告:赋值从指针生成整数而不进行强制转换

pgs*_*pgs 2 c

我试图在2d数组中对元素进行排序,但在将值赋给k时,它会给出此错误.

"警告:赋值在没有强制转换的情况下从指针生成整数".

为什么我得到它,我该如何解决?

for(i=1;i<3;++i)
    {
        for(j=3-1;j>=1;--j)
           {
                if(a[j-1]>a[j])
                   {
                         k = a[j-1];
                          a[j-1]=a[j];
                         a[j] = k;
                   }
           }
     }
Run Code Online (Sandbox Code Playgroud)

tas*_*oor 5

您在访问元素时错过了一个索引.a[j], a[j-1]应该a[i][j], a[i][j-1]在所有地方.a[i]是指向2D数组中第i行第一个元素的指针.a[i][j]是索引处的元素i, j.

注意:虽然问题中未指定,但我几乎可以肯定它i, j, k是整数并且a是一个2D整数数组.