黑马程序员技术交流社区

标题: a++自增问题 [打印本页]

作者: 胡eason    时间: 2016-8-21 20:09
标题: a++自增问题
a++,到底什么时候才自增
下面题里,++b会自增再运算。a++会运算再自增
可是为什么不选A

下面程序的运行后,结果正确的是:B
int a=1,b=2;
int c=(a+b>3?a++:++b);
A. a=2,b=3
B. a=1,b=3
C. a=1,b=2
D. c=2


作者: wx_W1hr77lR    时间: 2016-8-21 20:14
因为a+b不大于3所以执行++b 所以 a的值不变b的值加1
作者: 琅琊Man    时间: 2016-8-21 20:21
好好看一下三元运算符的运算过程。
作者: 胡eason    时间: 2016-8-21 20:25
wx_W1hr77lR 发表于 2016-8-21 20:14
因为a+b不大于3所以执行++b 所以 a的值不变b的值加1

明白了
作者: 胡eason    时间: 2016-8-21 20:27
wx_W1hr77lR 发表于 2016-8-21 20:14
因为a+b不大于3所以执行++b 所以 a的值不变b的值加1

明白了,谢谢
作者: 菜菜_f9490    时间: 2016-8-21 21:17
三元运算是 必须会被使用的  a+b = 3 并没有大于三  所以b++  a不变
作者: 开心的流泪者    时间: 2016-8-21 21:43
路过的  看了看   也明白了
作者: zwy1174    时间: 2016-8-21 21:43
因为a+b不大于3,所以?后边的不执行
作者: 顾祯杰    时间: 2016-8-21 21:49
就像if语句那样  条件错了 对应括号内的语句就不会执行了
作者: 顾祯杰    时间: 2016-8-21 21:50
就像if语句那样  条件错了 对应括号内的语句就不会执行了
作者: li--yong    时间: 2016-8-21 22:06
东西不难,你好好看看肯定能掌握
作者: 自信boy    时间: 2016-8-21 22:46
因为a++没有执行啊
作者: bin931207    时间: 2016-8-22 00:22
好好的看一下三元运算符吧,并不是每个自增都会运行
作者: 冬天有点冷    时间: 2016-8-22 00:25
三元运算符,条件语句如果为false, 就执行第二个的........
作者: lrwillinggerry    时间: 2016-8-22 00:25
a+b>3?a++:++b的意思是如果a+b>3的话,就执行a++,否则执行++b,因为a=1,b=2,所以a+b>3为false,所以c=++b,即b先自增一,然后c再等于b,所以选b




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2