-3
這是到目前爲止我的代碼運算符優先級 - 得到錯誤的輸出
public class Test1
{
public static void main(String[] args) {
int result = 13 - 3 * 6/4 % 3;
System.out.print(result);
}
}
輸出我得到的12,但它不是假設是-13?
這是到目前爲止我的代碼運算符優先級 - 得到錯誤的輸出
public class Test1
{
public static void main(String[] args) {
int result = 13 - 3 * 6/4 % 3;
System.out.print(result);
}
}
輸出我得到的12,但它不是假設是-13?
如果再加澄清括號,表達式變爲:
13 - ((3 * 6/4) % 3);
由於整數除法的除法運算的結果變爲4 然後,在1模結果 所以最後的結果是12。
爲什麼它應該是'-13'? –
@SotiriosDelimanolis -3 * 6是-18,-18/4是-4(它是int,所以它切掉了小數部分)。 -4%3是-1,-1 * 13是-13不是嗎? – SethZiotic
嚴重的是,如果您認爲運算符優先級錯誤,至少指定您認爲優先級應該是多少...... – wvdz