main(){int x=5, y;y=2+(x+=x++,x+8,++x);printf(\"\\n%d\",y);}
热心网友
++优先于+=所以括号内第一个表达式的值应该是12(x++为6,x=12)第二个表达式x+8,并没有改变x的值第三个表达式++x值为12这里注意++运算符的位置++X的值为X而X++的值为X+1逗号表达式的值为最后一个表达式的值,即题中的++x的值12所以最后y的值应该是14
热心网友
不是36,y的值等于括号内3个逗号表达式里最后一个的结果加上2,也就是y=2+(++x)前面两个式子只确定x的值,就是说x++以后就变为6了,再带入y=2+(++x)中,y就等于9,而x+8的表达式对x和y的结果没有意义.
热心网友
y=2+(x+=x++,x+8,++x);printf(\\\"\\\\n%d\\\",y);}