比如说(x++)+(++x)+(x++) 这个的结果与我们意料到的结果不太一样
这个问题建议不要过于钻牛角尖了,因为不同的编译器会出现不同的结果
如果x初始值为4,那么结果会有如下几个
1。按照右结合,从左向右计算,4+6+6=16
2。按照括号优先,5+6+7=18
3。按照自加运算符优先,7+7+7=21
当然这种问题在c++程序中要尽量避免,处理不当会造成很严重的后果
然后再说说你的这个问题
又如int x(6); (++x)+(++x),就属于自加运算符优先,8+8=16