我正在尝试打印一个int数组,但这给我一个错误。
错误:需要左值作为增量操作数
int *a[] = {1,2,3,4,5};
for(int i=0;i<5;i++)
{
printf("%d",*a);
a++;
}
答案 0 :(得分:4)
int *a[]
表示一个指向整数的指针数组。您要在此处使用整数数组,因此请使用int a[]
。
您不能递增a
,因为a
是一个数组,而不是一个指针。数组有时会衰减到指向第一个元素的指针,但是您不能修改该指针。相反,应使指针指向int *p = a
之类的数组中的元素,或使用a[i]
之类的下标运算符来访问这些元素。