问题遇到的现象和发生背景
我不太明白下面这个例子
有一表达式-i++ ,其中i的原值为3 ,由于负号运算符与自加运算符的优先级相同,结合方向是“自右向左”,即相当于对表达式-(i++)进行运算此时自加运算符“++"为后缀运算符,(i++)的值为3,因此-(i++)的值为-3 然后i自增为4
我不太明白下面这个例子
有一表达式-i++ ,其中i的原值为3 ,由于负号运算符与自加运算符的优先级相同,结合方向是“自右向左”,即相当于对表达式-(i++)进行运算此时自加运算符“++"为后缀运算符,(i++)的值为3,因此-(i++)的值为-3 然后i自增为4
你是哪里不明白,解析已经非常清楚了,这两个是平级的运算符,并且不存在括号,所以采用从右往左的顺序,而从右往左需要先看i++,它表示先用i的值然后再令i加1,即i++首先返回i的原始值,再让i加1,也就是说,-i++首先使用i的原始值,得到-3,再让i加1变成4