下面代码输出结果是(). int a,b,c; a = 1; b = 1; c = ++a > b++ ? a++ : b++; printf("%d%d%d",a,b,c);

 我来答
夜幕里的曙光
2023-03-07 · TA获得超过108个赞
知道小有建树答主
回答量:1079
采纳率:27%
帮助的人:54.8万
展开全部

该代码输出的结果是233。

首先,我们分析一下条件表达式++a > b++ ? a++ : b++的结果。因为++a会先自增再参与运算,而b++会先参与运算再自增,所以++a的值是2,而b++的值是1。因为2 > 1成立,所以条件表达式的结果是a++即2。

然后,我们来分别分析一下a、b、c的值。

  • a的值是2,因为在条件表达式中++a自增了。

  • b的值是2,因为在条件表达式中b++自增了,而在赋值操作中c得到的是b++之前的值。

  • c的值是3,因为条件表达式的结果是2,所以c得到的是a++之前的值。

  • 因此,最终输出的结果是233。

H2O2Z0
2022-12-25
知道答主
回答量:7
采纳率:0%
帮助的人:1806
展开全部
第一步:判断++a与b++谁大,++a先增值后赋值最终a=2,++a=2;b++先赋值后增值最终b=2,b++=1,所以++a>b++
第二步:c=a++=2+1=3
第三步:故最终a=3,b=2,c=2
输出结果是:322
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式