自增自减运算有关问题
自增自减运算问题
例如有一表达式-i++,其中i的原值为3。由于负号运算符与自增运算符的优先级相同,结合方向是“自右至左”,即相当于对表达式-(i++)进行运算,此时自增运算符“++”为后缀运算符,(i++)的值为3,因此-(i++)的值为-3,然后i自增为4。
如果表达式为-(++i) 值是不是-4 然后i自增为4呢?
------解决方案--------------------
例如有一表达式-i++,其中i的原值为3。由于负号运算符与自增运算符的优先级相同,结合方向是“自右至左”,即相当于对表达式-(i++)进行运算,此时自增运算符“++”为后缀运算符,(i++)的值为3,因此-(i++)的值为-3,然后i自增为4。
如果表达式为-(++i) 值是不是-4 然后i自增为4呢?
------解决方案--------------------
- C/C++ code
int i = 3; printf("%d\n", -(i++)); printf("%d\n", i);