麻烦帮忙看下这个C语言选择

[复制链接]
查看11 | 回复2 | 2009-5-5 12:44:12 | 显示全部楼层 |阅读模式
赋值语句表达式 正确的是
B:d=(9+e,f=d+9)
c:d=9+e,e++,d+9
应该选哪个呀
请说明为什么~

回复

使用道具 举报

千问 | 2009-5-5 12:44:12 | 显示全部楼层
答案是B没错,但一楼对选项C的解释有误,逗号运算符的优先级是最低的,C选项中首先进行的运算是d=9+e,然后e自增,至于d+9,意思是选项C的整个表达式(d=9+e,e++,d+9)最终值为d+9,而d是等于9+e的。...
回复

使用道具 举报

千问 | 2009-5-5 12:44:12 | 显示全部楼层
两个都没有语法错误。 B.表达式等效于: f = d + 9; d = f; C.表达式乖效于: d = d + 9; 9+e, e++, d+9类似这样的表达式,称之为逗号表达式,结果为最后一个表达式d+9; = 的优先及高于, 所以有上述结论。最终应该选择B...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行