本帖最后由 沐子松/kf 于 2014-6-18 23:26 编辑
int a=1,b=2;
int c=(a+b>3?a++:++b);System.out.println(a);
System.out.println(b);
System.out.println(c);
结果:1
3
3
提问:为什么c=3
情况1:本人觉的“a+三目运算”,应该先执行三目运算,再把结果+上a!
那么, b>3?a++:++b的结果应该是3,那么c=a+3应该是4才对,还是说在三目运算中++b并没有先执行,b的结果还是2?
情况2:a+b先执行,结果等于3,再进行三目运算,返回++b的结果赋值给c,所以c=3!
|
|