Given the code fragment:
int x = 100;
int a = x++;
int b = ++x;
int c = x++;
int d = (a < b) ? (a < c) ? a : (b < c) ? b : c;
System.out.println(d);
What is the result?
A.
100
B.
101
C.
102
D.
103
E. Compilation fails
題解
宣告d變數的那行會編譯錯誤,原因在於「?:」條件三元運算子的使用方式是錯誤的。條件三元運算子的「?」和「:」必須是成對出現,有幾個「?」就有幾個「:」。