如果是((x=a+b),(b+c))实际上可以看成(6,10)整个逗号表达式的值应该是10
但这是错的,这儿还有赋值运算符。赋值运算符的优先级是14,而逗号表达式的优先级是15,也就是说上面的表达式中 y=(x=a+b),(b+c);应该等价于这样的结合:y=x,10;如果这样写的话,则答案很清晰,为:6
提示:据我统计,这种类型的题目错误率超过70%.
有疑问请HI我:)
y=(x=a+b)这个会结合到一起
要加个括号y=((x=a+b),(b+c));
加个括号就是10啊!
谭浩强的c++程序设计说过,整个逗号表达式的值是表达式2的值,
z=x++,y++,++y是一个表达式,整个逗号表达式的值是最后一个,但是z
的值是x++,除非z=(x++,y++,++y)