A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Hison_lian 中级黑马   /  2015-5-11 22:09  /  1157 人查看  /  18 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问在下面的语句中  (true)?a++ : b++;  a++会自增1,那么b++那?

18 个回复

倒序浏览
a++是先运算,再自增,b++不参与该次运算。
回复 使用道具 举报
int a = 3;
int b = 4;
int c = (true)?a++:b++;//c的结果是3,是a自增之前的结果.
回复 使用道具 举报
后面那俩只能执行一个
回复 使用道具 举报
不会增加 true 只会执行第一条语句
回复 使用道具 举报
好的,谢谢
回复 使用道具 举报
三元 只能输出一个 a++或者b++  所以 ture 的话 就运行a++  b不会运行的
回复 使用道具 举报
liujin 中级黑马 2015-5-11 23:32:57
8#
三元运算符:如果判断条件满足则执行a++,如果不满足则执行b++
回复 使用道具 举报
如  (flag)?  a++ : b++;   flag为真则执行b++,  假 则执行a++.
回复 使用道具 举报
哥们你三元运算符的格式都写错了,正确的格式是,条件表达式?条件表达式1:条件表达式2;
回复 使用道具 举报
true的时候是执行左边,false的时候是执行右边,没有被执行的就是跟原来一样
回复 使用道具 举报
一楼正解~~
回复 使用道具 举报
b++这一句语句并不会执行,所以b的值没有发生改变
回复 使用道具 举报
问号左边为true的话就运行冒号左边,false就运行冒号右边
回复 使用道具 举报
V_nan 中级黑马 2015-5-12 21:52:00
15#
ture执行表达式1,所以后面的不执行,就不自增
回复 使用道具 举报
表达式为 true  就执行a++  ,表达式为 float  就执行b++
回复 使用道具 举报
b++不参与该次运算。
回复 使用道具 举报
三元运算符也是个运算符,必然会有个结果,所以三元运算符中的两个值必然只能有一个执行,具体哪个执行,是要取决于条件表达式的
回复 使用道具 举报
可以自己做个测试
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马