为什么这里不遵循运算符优先级?
2022-09-02 00:25:58
在此代码中:
int y = 10;
int z = (++y * (y++ + 5));
我的期望
第一个将执行,因为最内侧的括号优先。因此,的值将为 11,此表达式的值将为 15。然后将被执行。所以12 * 15 = 180。所以 z=180y++ + 5
y
++y * ()
我得到了什么
z = 176
这意味着 VM 从左到右不遵循操作员优先级。那么我对运算符优先级的理解是错误的吗?