C语言数组赋值问题
本帖最后由 qiaofeiw 于 2013-08-07 00:51:50 编辑 C语言数组赋值问题,第四行输出lvalue required as left operand of assignment,如果a[n] == *(a+n),那这样为数组元素赋值为什么不可以?求解释。
int a[3] = {1, 2, 3};
int t = *a+1;
printf("%d\n", t);
*a+1 = 3;
printf("%d", *a+1); C 数组 赋值
[解决办法]
a[n] == *(a+n)赋值没错,你少了括号,应该是:*(a+1) = 3; *比+优先级强,会先计算*a,所以会出现那样的提示。