C语言程序题 搞不灵清一道题

来源:百度知道 编辑:UC知道 时间:2024/06/17 00:50:18
33.假设x=10,y=9,则z=x>y?x:y,x++<y,x/10执行后,z的值是
A)1 B)11

z=x>y?x:y,x++<y,x/10 书上解释的是相当于z=x>y?x:(y,x++<y,x/10)
我搞不懂 感觉这样错的?请问是应该先x>y?x:y 再逗号表达式取X/10。
最后把X/10赋给Z 请问大家我这样理解对吗?

顺序是: (z=x>y?x:y), (x++<y), (x/10)
结果是10, 你可以去运行下看看不就知道了

因为逗号运算符是优先级最低的
所以先执行其他表达式
而且逗号表达式的最后值是最后一个表达式的值
选择A