a++是a的自增,结果是a+1,这不是一个左值,不能再进行自增操作。
比如:
a+3=10;
这个代码是错误的,因为这个不能确定一个储存单元。
你不能说出a+3的位置,所以这个表达式只能放在右侧,不能进行赋值赋值。
可以这样解释:
- (a++)本身是一个表达式没有问题
- ++x 是单目前缀运算符,需要作用到一个变量上
- 但它不能作用到一个表达式上,所以++(a++)不行
- 通过两句
a++; ++a;
应该也可以达到目的。
a++是a的自增,结果是a+1,这不是一个左值,不能再进行自增操作。
比如:
a+3=10;
这个代码是错误的,因为这个不能确定一个储存单元。
你不能说出a+3的位置,所以这个表达式只能放在右侧,不能进行赋值赋值。
可以这样解释:
a++; ++a;
应该也可以达到目的。