结果是11
这里牵连到运算符优先级和结合性的问题,int i=6;i +=i-1;“-”为算数加减运算符,优先级为4;而“+=”是赋值运算符,优先级为14,低于加减运算符。所以要先算“i-1”。
附上运算符的优先级和结合性的表:
优先级 | 描述 | 结合性 | | 1 | 分隔符 | 右到左 | | 2 | 对象归类,自增自减运算,逻辑非 | 左到右 | | 3 | 算术乘除运算 | 左到右 | | 4 | 算术加减运算 | 左到右 | | 5 | 移位运算 | 左到右 | | 6 | 大小关系运算 | 左到右 | | 7 | 相等关系运算 | 左到右 | | 8 | 按位与运算 | 左到右 | | 9 | 按位或运算 | 左到右 | | 10 | 按位或 | 左到右 | | 11 | 逻辑与运算 | 左到右 | | 12 | 逻辑或运算 | 左到右 | | 13 | 三木条件运算 | 左到右 | | 14 | 赋值运算 | 右到左 | |
|