簡體   English   中英

下標的值既不是數組,也不是指針,也不是向量

[英]subscripted value is neither array nor pointer nor vector in c

如何刪除此錯誤嘗試了一切...。該程序是關於從數組中查找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]);
   }
    }

a聲明為int ,但是您嘗試在此處將其用作數組:

diff[i]=abs(a[i]-x);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM