不要将
评估顺序
与
优先
顺序
混淆。
评估顺序指出 操作数 始终 从左到右 执行。
优先级指出
*和
/运算符 在
+和之前应用
-,除非被括号覆盖。
因此,您的
a++/b+--a*b++意思是
(a++ / b) + (--a * b++)。那是 优先 。
由于数字运算符会将值提升为
int(在这种情况下),因此您也可以认为
chara = 'D'与等效
int a = 68。
所以:
(a++ / b) + (--a * b++) a = 68 b = 5(68 / b) + (--a * b++) a = 69 b = 5(68 / 5) + (--a * b++) a = 69 b = 5(68 / 5) + (68 * b++) a = 68 b = 5(68 / 5) + (68 * 5 ) a = 68 b = 613 + 340 a = 68 b = 6353 a = 68 b = 6
如您所见,
b++确实有一个作用:执行表达式
b后 的值。



