我會通過一些練習,但我很困惑在這一個:前/後遞增/遞減和運營秩序混亂
public static int f (int x, int y) {
int b=y--;
while (b>0) {
if (x%2!=0) {
--x;
y=y-2;
}
else {
x=x/2;
b=b-x-1;
}
}
return x+y;
}
什麼是b=y--
的目的是什麼? 那麼,例如,x=5
和y=5
當我們第一次進入while循環(while (b>0)
)將b
= 4或5?當我運行我的電腦b
中的代碼是5.並且回報是3.這對我來說真的不清楚。對不起,如果我不清楚我的問題。
閱讀有關運算符優先級和前/後加/減運算符。 –
在調試器中跟蹤代碼可能會非常有用,因爲您可以在每個步驟檢查每個變量。 – alk