这段代码错了,正确的为:
int a = 3, b = 5, c; c =(a>--b)?a++:b--;
c =(a>--b)?a++:b--;
只执行满足条件的部分,a++没有赋值给c,因此也不存在a+=1这一步了。
换一个简单点的,c =(a>--b)?a++:b--;等价于:
if(a>--b) { c = a++;} else { c = b--; }
都不对,应该是编译错误,明显中间的分号应该改成冒号如果改成冒号的确是3 3,因为如果条件不成立a++就直接不会执行了