邏輯錯誤類型:(以 Dev C++ 與 Visual C++ 為範例)
(Dev C++ 2015/04/27 Version 5.11)
(Microsoft Visual Studio Community 2015 Version 14.0.25431.01 Update 3)
int a,b; 修正 Dev C++ Visual C++
a = a / 0; 刪除 [Warning] division by zero
[警告] 除數為零
//當 b =0 時
a = a / b;
刪除

邏輯錯誤(可執行型):
此錯誤型態並非完全錯誤,而是在某些情況正確,但某些情況則錯誤。
有些運算式則依不同編譯器(compiler),而有不同的解讀。
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 =