逗号表达式问题

来源:百度知道 编辑:UC知道 时间:2024/05/05 20:21:10
x=2 y=12
y=y+(2*x,3*x,4*x)
y=???
为什么???
书上说是48 一直想不通!!!

然是逗号表达式,但仍然是从左到右顺序执行的
()的优先级高,先算括号里的内容
2*x=4,此时x仍是2,3*x=6,此时x仍是2,4*x=8,括号里的几个表达式,只有最后一个当作返回值。
返回8
y=y+8
y=20

y=y+4*x
括号里的几个表达式,只有最后一个当作返回值。
而在前面两个操作中没有对x的值进行修改。
所以最后应该是
y=12+4*2=20
--
写个程序跑一下就知道了。

20,刚才运行了,才知道我想错了

20