int a; |
修正 |
Dev C++ |
Visual C++ |
cin >> a;
......//各種運算
cout << "成績為" << a;
|
修正各種運算中,超出成績範圍的運算。 |
若各種運算中,運算結果超出 0~100 的數值,則有成績範圍錯誤的 bug。 |
使用 if 過濾 a 的值。 |
若 cin >> a 輸入超出 0~100 的數值,則有成績範圍錯誤的 bug。 |
修正 a 的宣告為 float a; |
若成績有小數,則 a 有失去小數的 bug。(int a 無法容納浮點數) |
b=a/2 - (a+=4); |
若要 (a+=4) 先運算,建議如下:
a+=4;
b=a/2-a;
若要 a/2 先運算,建議如下:
b=(a/2) - (a+=4); |
以由左而右,運算子優先順序做為運算,因此 a/2 會先被計算,其次是 (a+=4),最後是 -
。因此若 a=3 運算式結果 b 為 -6 |
以括號優先運算,因此(a+=4)會先被計算,其次是 a/2,最後是 - 。因此若 a=3 運算式結果 b 為 -4 |
b=a/2 - (++a+5); |
若要 (++a+5) 先運算,建議如下:
++a;
b = a/2 - (a+5);
若要 a/2 先運算,建議如下:
b=(a/2) - (++a+5); |
以由左而右,運算子優先順序做為運算,因此 a/2 會先被計算,其次是 (++a+5),最後是 -。因此若 a=3 運算式結果 b 為 -8 |
以++優先運算,因此 ++a 會先被計算,其次是 a/2,接著是 a + 5,最後是 - 。因此若 a=3 運算式結果 b 為 -7 |
cout << a << (a = !a); |
分開指令。
b = |
|
|