若以 magic(3, 5)呼叫下述 Java 方法,該方法將傳回下列那一個值? int magic(int x, int y) { int a = x, b = y, w = 0; while(b != 0) { if(b % 2 != 0) { //b 為奇數 w = w + a; } b = b / 2; a = a * 2; } if ( x * y < 0 ) { w = -w; } return w; }
A8
B125
C15正確答案
D405
答案與詳解
逐步追蹤:b=5(奇)w=3,b=2,a=6;b=2(偶)w=3,b=1,a=12;b=1(奇)w=15,b=0,a=24。x*y=15>0不變號,回傳15。
