int main()
{
int a[]={2,3,4,5,6};
int j;
for(j=0;j<5;j++)
{
printf("%d\n",*a);
a++;
}
return;
}
給 「Lvalue
需要」 錯誤,但如果將一個數組名稱當作一個指針,爲什麼當增加一個數組時需要Lvalue的編譯時錯誤?
int main()
{
int a[]={2,3,4,5,6};
int *p,j;
p=a;
for(j=0;j<5;j++)
{
printf("%d\n",*p);
p++;
}
return;
}
沒有。爲什麼????
數組**不是指針**。作爲一個id表達式,它是一個不可修改的左值。因此,你不能改變它,同樣'a = p;'是被禁止的。請參閱http://stackoverflow.com/q/1641957/420683 – dyp