![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
下面代码输出结果是(). int a,b,c; a = 1; b = 1; c = ++a > b++ ? a++ : b++; printf("%d%d%d",a,b,c);
2个回答
展开全部
该代码输出的结果是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。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询