C语言这个题为什么选C呢?

 我来答
tracy_199
2014-03-06 · 超过11用户采纳过TA的回答
知道答主
回答量:52
采纳率:100%
帮助的人:8.4万
展开全部
(x--,y++,x+y)是逗号表达式,结果为x+y的值,x--、y++的符号都在字母后面,所以先引用再做-、+运算,这样(x--,y++,x+y)的值为13,z--也是先引用再做-运算,再调用函数,最后结果为13+8=21
cms466
2014-03-06 · TA获得超过1896个赞
知道小有建树答主
回答量:284
采纳率:100%
帮助的人:267万
展开全部
(x--,y++,x+y) 整个表达式值为 13
z--先使用后加,
因此,形参的值为:a=13,b=8
逗号表达式要算出所以表达式的值,然后取最右边的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
超基赫
2014-03-06 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:91
采纳率:0%
帮助的人:86.5万
展开全部
r=func((x--,y++,x+y),z--)

两处需要注意的区别点是: x+y是在 x,y已经自减后进行的,也就是x=5,y=8 x+y=13
而 z-- 这个z的自减动作是在执行func之后,因此 func = 13+8=21,最后执行 z=z-1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
渊邪
2014-03-06
知道答主
回答量:9
采纳率:0%
帮助的人:13.3万
展开全部
x-- y++ z-- 自增自减都在变量后 是后加加后减减 要等这句结束才开始变 所以传入func函数的参数是原x和原y的和13 和原z的值8 当r被func返回的数赋值后 三个变量才进行自增或自减(只有--x ++y才能先变)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式