c语言 请读程序: int x=10; int y=x++; printf("%d,%d",(x++,y),y++); 则上面程序的输出结果是___

'请读程序:intx=10;inty=x++;printf("%d,%d",(x++,y),y++);则上面程序的输出结果是____A:11,10B:11,11C:10,... '请读程序:
int x=10;
int y=x++;
printf("%d,%d",(x++,y),y++);
则上面程序的输出结果是____
A:11,10 B:11,11 C:10,10 D:10,11
答案是a 我选的c
win-tc环境 确实是a
展开
 我来答
章顺新
2011-08-27 · 超过11用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:28.9万
展开全部
你选的是对的,答案就是C,当执行到y=x++时,因为y=x++是先运算后自加,所以y的值是10,此时x值后加变成了11,当执行printf()函数时,因为printf()函数运算是从最后运算的,所以首先运算的是y++,因为y++还是后加加,所以y的值还是10,在运算y,所以第二个输出的结果还是10,因为题中的printf()函数输出的只有两个结果,所以x++是不运算的,ok,完了
追问
程序运行的答案是a啊
追答
我运行的就是C,绝对没问题
帐号已注销
2011-08-27 · TA获得超过729个赞
知道小有建树答主
回答量:1123
采纳率:0%
帮助的人:883万
展开全部
c是正确答案
因为int y=x++之后,y=10,x=11
(x++,y)输出y,y=10
然后y++,先输出y=10,然后y才为11
所以答案是10,10
如果再加上printf("%d",y),会显示为11

所以,你的选择是正确的
追问
程序运行的答案是a啊
追答
不,我运行的答案是C,绝对是C
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dee900fab
2020-05-21
知道答主
回答量:1
采纳率:0%
帮助的人:607
展开全部
printf先算后面的y++,先输出10然后再自加,这时y=11,括号表达式返回的值是最后那个,这时返回11,所以输出11,10
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0a3791a
2020-03-09
知道答主
回答量:12
采纳率:0%
帮助的人:8117
展开全部
因为printf是从右开始运算的 所以先算y++ 然后再算逗号里面的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
techird
2011-08-27 · TA获得超过153个赞
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:103万
展开全部
x y 操作
10 - int x=10
11 10 int y=x++
后面的就没影响了。直接输出了
追问
逗号表达式不是总是显示最后一个表达式的值么?所以第一个输出的应该是y不是么?
追答
是C,看错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式