int x=3,y;
y=(++x)*(++x)*(++x);
其实是先同时计算了前面两个括号内的内容,即5*5,之后从第三个开始逐一计算,就变成了5*5*6,即150.
x=3,第一个++x是4,第二个5,第三个6,难道不是120吗
先执行(++x)*(++x),由于()的优先级大于*,所以x其实是自增了两次,即为5,5*5=25。后面一个(++x),因为x已经等于5,再自增一次就是6,25*6=150。
先执行(++x)*(++x),由于()的优先级大于*,所以x其实是自增了两次,即为5,5*5=25。后面一个(++x),因为x已经等于5,再自增一次就是6,25*6=150。