c语言赋值表达式问题

以下符合C语言语法的赋值表达式是A)d=9+e+f=d+9B)d=9+e,f=d+9C)d=(9十e,e++,d十9)D)d=9十e++=d十7求分析,我不要只有一个答案... 以下符合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
求分析,我不要只有一个答案
展开
 我来答
yuantailing
2013-08-22 · TA获得超过2545个赞
知道小有建树答主
回答量:1167
采纳率:92%
帮助的人:649万
展开全部
A错,9+e+f不能被赋值。
B半对,9+e赋值给d,然后d+9赋值给f,最后整个表达式的值是d+9的值。整个表达式是一个逗号表达式,不是一个赋值表达式。
C对,先计算9+e(不产生任何效果),然后计算e++(e自增1),然后计算d+9,整个括号里的值是d+9的值,赋值给d。
D错,9+e++不能被赋值。
这么分析,给a赋值,那么就把a的地址找出来,然后把这个值存进去。给a+b赋值,则没有对应的地址了,所以C里表达式都不能被赋值。
晚幸渡
2020-07-25
知道答主
回答量:1
采纳率:0%
帮助的人:584
展开全部
A错,9+e+f不能被赋值。
B半对,9+e赋值给d,然后d+9赋值给f,最后整个表达式的值是d+9的值。整个表达式是一个逗号表达式,不是一个赋值表达式。
C对,先计算9+e(不产生任何效果),然后计算e++(e自增1),然后计算d+9,整个括号里的值是d+9的值,赋值给d。
D错,9+e++不能被赋值。
这么分析,给a赋值,那么就把a的地址找出来,然后把这个值存进去。给a+b赋值,则没有对应的地址了,所以C里表达式都不能被赋值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
White_MouseYBZ
2013-08-22 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6489万
展开全部
A)错误,因为=的优先级比+低,所以9+e+f=d+9是把d+9赋给9+e+f,表达式不能做左值被赋值。
B)正确,是两个逗号表达式。
C)正确,把逗号表达式(9+e,e++,d+9)的值d+9赋给了变量d。
D)错误,道理同A)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友13340bc
2009-11-12 · TA获得超过114个赞
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:115万
展开全部
中间用逗号连接的表达式叫逗号表达式,逗号表达式的值是最后一个逗号后面的值。
但是逗号表达式的优先级比较低,
第一个表达式先计算(8,3*5)=3*5=15,然后a=15;
第二个表达式就是先计算a=8,然后3*5是个常量,相当于(a=8),3*5
编译就会报错的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
游戏人间6018
2013-08-22 · TA获得超过1467个赞
知道小有建树答主
回答量:544
采纳率:0%
帮助的人:130万
展开全部
记住等号的左边不能为算式就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式