ans=num/2+5*(1+num++) 其中的num/2应该带括号吧,不然一定先计算后面的项(1+num++),不存在作者说明的问题
好问题,我认为编译器的行为是未定义的,程序员 *预想* 的次序未必在每一个编译器中都一样,这样会导致可移植性的大问题。
建议:是凡是有这样二义性的表达式,都分开来写,这样也更容易让人理解, 程序员是想使用 num 的原始数值,还是 num++ 后的数值。