黑马程序员技术交流社区

标题: 这题怎么理解呀???? [打印本页]

作者: yaolv7    时间: 2016-4-6 22:40
标题: 这题怎么理解呀????
  1. int a=1,b=2;
  2. int c=(a+b>3?a++:++b);
复制代码


为啥b=3了?不是只把b的值赋值给c而已么??
作者: 晴苑    时间: 2016-4-6 22:58
因为b参与运算了啊
作者: leiothrixs    时间: 2016-4-6 23:02
这是自增和自减的问题,++(--) 在变量前 先自增(自减)再参与运算,在变量后,参与运算再进行自增(自减)
作者: l493062120    时间: 2016-4-6 23:13
c = (a+b>3?a++:++b)   先算 a+b的值为3  然后 三元运算 3 > 3?a++:++b  结果为++b 赋值给c因为++在前所以b先自加1 再赋值
作者: 丶半度微凉    时间: 2016-4-6 23:45
运行完以后得出++b,先加1后赋值
作者: yaolv7    时间: 2016-4-7 22:10
额,看不懂呀,有没有大神能说明白点....{:2_39:}
作者: qing31657552    时间: 2016-4-7 22:11
++在前边,先运算+1再赋值,   ++在后边,先赋值,再运算




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