int n,i=1,j=2;
n=i>j?i++:j++;
执行结束n的值为啥是2呀啊救命
等同于:
int n = 0;
int i = 1;
int j = 2;
if (i>j) {
n = i++;
} else {
n = j++;
}
n = j++表示先把j赋值给n,然后自增加.
n = i > j ? i++ : j++; ==> n = (i > j ? i++ : j++);
(i > j ? i++ : j++) 先执行 ? ,i = 1 > j = 2 ? i++: j++ ,i 小于 j 返回 j++
n = j++ , n = j ,j++ , 所以最终结果: n = 2 , j = 3.