递增int指针值-不起作用

时间:2019-05-19 04:33:43

标签: c arrays pointers increment

我正在尝试打印一个int数组,但这给我一个错误。

  

错误:需要左值作为增量操作数

int *a[] = {1,2,3,4,5};
for(int i=0;i<5;i++)
{
    printf("%d",*a);
    a++;
}

1 个答案:

答案 0 :(得分:4)

int *a[]表示一个指向整数的指针数组。您要在此处使用整数数组,因此请使用int a[]

您不能递增a,因为a是一个数组,而不是一个指针。数组有时会衰减到指向第一个元素的指针,但是您不能修改该指针。相反,应使指针指向int *p = a之类的数组中的元素,或使用a[i]之类的下标运算符来访问这些元素。