11智能在线
新记
问一个C语言题目,大家帮帮我,最好说详细一点,谢谢了。 题目:一下符合C语言赋值表达式的是? A:d=9+c+f
B:d=(9+e,f=d+9)
C:d=9+e,e++,d+9
D:d=9+e++=d+7
举报该文章
相关建议 2013-01-14
A和B都正确
赋值表达式形式:变量=表达式
1.计算赋值运算符右侧表达式的值。(“=”为赋值运算符)
2.将赋值运算符右侧表达式的值赋给左侧的变量。
3.将赋值运算符左侧的变量的值作为表达式的值。
A不用说了吧,对照定义即可
B的话 右边(9+e,f=d+9)是逗号表达式,并将表达式的值赋给d,所以也是正确的
C是逗号表达式,不是赋值表达式
D中第二个“=”左边(9+e++)不是合法的变量
追问
发错了。A:d=9+c+f=d+9
追答
B,
A的错误和D一样,第二个 = 左边(9+c+f)不是合法变量
追问
谢谢你了
温馨提示:内容为网友见解,仅供参考
当前网址:
https://11.t2y.org/zz/2fvspsv74.html
其他看法
第1个回答 2013-01-14
A d=9+c+f 正确很正常的表达式。
B d=(9+e,f=d+9) 正确结果是d=f=d+9,这里:9+e,f=d+9 逗号表达式,f=d+9;d=f ,f=d+9是赋值表达式
C d=9+e,e++,d+9 正确 9+e,e++,d+9是逗号表达式,结果是 d=d+9 ;e=e+1
D:d=9+e++=d+7 第二个赋值号有问题,9+e++ 不是左值,不可以赋值=优先级比较低
相似回答
大家正在搜