y=5;x=14;y=((x=3*y,x=6),x-1);printf("x=%d,y=%d"x,y);请详细解答 谢谢
答案:1 悬赏:10
解决时间 2021-01-09 03:41
- 提问者网友:留有余香
- 2021-01-08 12:23
y=5;x=14;y=((x=3*y,x=6),x-1);printf("x=%d,y=%d"x,y);请详细解答 谢谢
最佳答案
- 二级知识专家网友:杯酒困英雄
- 2021-01-08 13:20
r=exp1,exp2------r=exp2
逗号表达式从左往右执行,但返回的最后1个式子的值
所以:y=((x=3*y,x+6), x-1); -->y=(x=x+6,x-1)
-->y=(x=20,13)-->y=(20,13)-->y=13
注意: 这里上面x=20被赋值了,赋值表达式返回的等式右边的值
结果:x=20,y=13追问可我的答案是x=15,y=14
逗号表达式从左往右执行,但返回的最后1个式子的值
所以:y=((x=3*y,x+6), x-1); -->y=(x=x+6,x-1)
-->y=(x=20,13)-->y=(20,13)-->y=13
注意: 这里上面x=20被赋值了,赋值表达式返回的等式右边的值
结果:x=20,y=13追问可我的答案是x=15,y=14
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯