增加 int 指针值 - 不起作用
Increment int pointer value - Doesn't work
我正在尝试打印一个 int 数组,但出现错误。
error: lvalue required as increment operand
int *a[] = {1,2,3,4,5};
for(int i=0;i<5;i++)
{
printf("%d",*a);
a++;
}
int *a[]
表示指向整数的指针数组。你想要一个整数数组,所以使用 int a[]
.
您不能递增 a
,因为 a
是一个数组,而不是指针。数组有时会衰减为指向第一个元素的指针,但您不能修改该指针。相反,创建一个指向数组中元素的指针,如 int *p = a
或使用下标运算符,如 a[i]
来访问元素。
我正在尝试打印一个 int 数组,但出现错误。
error: lvalue required as increment operand
int *a[] = {1,2,3,4,5};
for(int i=0;i<5;i++)
{
printf("%d",*a);
a++;
}
int *a[]
表示指向整数的指针数组。你想要一个整数数组,所以使用 int a[]
.
您不能递增 a
,因为 a
是一个数组,而不是指针。数组有时会衰减为指向第一个元素的指针,但您不能修改该指针。相反,创建一个指向数组中元素的指针,如 int *p = a
或使用下标运算符,如 a[i]
来访问元素。