黑马程序员技术交流社区

标题: [代码]问题 [打印本页]

作者: 251855915    时间: 2016-4-5 22:27
标题: [代码]问题
  1. int a=1,b=2;
  2. int c=(a+b>3?a++:++b);
复制代码

先赋值再运算,为什么a没有进行+1呢?
求大神解答啊
作者: zapple926    时间: 2016-4-5 22:30
这是三元运算符啊,
int a=1,b=2;
int c=(a+b>3?a++:++b);
如果a+b大于三不成立,就将第二个表达式++b赋值给c ,第一个表达式则不执行.
作者: 641551734    时间: 2016-4-5 22:31
因为a+b>3false,执行++b,如果a+b>3true才执行a++,a++没有执行,所以没有加1




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