Given the code fragment
int var1 = -5;
int var2 = var1--;
int var3 = 0;
if (var2 < 0) {
var3 = var2++;
} else {
var3 = --var2;
}
System.out.println(var3);
What is the result?
A.
-6
B.
-4
C.
-5
D.
5
E.
4
F. Compilation fails
題解
程式第7行,將var1的值指派給var2變數後,再把var1變數的值減1。此時var1=-6,var2=-5。
程式第9行if條件式成立,因此會執行第10行程式,將var2的值指派給var3變數後,再把var2變數的值加1。此時var3=-5,var2=-4。
程式第14行,輸出var3的值「-5」。