回 帖 发 新 帖 刷新版面

主题:[讨论]有关赋值表达式

题目:以下符合C语言语法的赋值表达式是(  )
A、d=9+e+f=d+9
B、d=9+e,f=d+9
C、d=9+e,e++,d+9
D、d=9+e++=d+7
我认为都不对,不知其它大侠有何高见?

回复列表 (共6个回复)

沙发

B应该对吧

板凳

C也应该是对的吧

3 楼

c最后一句 ,不是赋值语句

4 楼

B  选项为何不对额?

5 楼

[quote]c最后一句 ,不是赋值语句[/quote]
逗号','运算符的优先级比赋值号'='要低,
故d=9+e,e++,d+9等价于 (d=9+e),e++,d+9.
不要把时间浪费讨论这种问题上,应该没人会写出这样的代码吧?

6 楼

[quote]c最后一句 ,不是赋值语句[/quote]
如果这样说的话,则B也不是。
因为逗号优先级比赋值号要低,所以B是个逗号表达式,只是其子项包含赋值操作,和C是一样的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册