在 C 語言中,if(a=4||5||6)的邏輯運算結果會先計算 4||5||6,這在布林語境下皆為非零,因此整個條件幾乎恆成立,不會如預期般判斷 a 是否等於 4、5 或 6。
正確的寫法應為 if(a==4 || a==5 || a==6),分別判斷變數 a 是否等於這三個值之一,任一條件成立即進入分支。
原代碼缺陷 素數判斷函數 `judge` 只檢查 `k=2`
在 C++ 專案中直接寫 system(pause),編譯器
原始錯誤代碼 y) change(x, y); // 比較
問題場景 在 MFC 應用程式中自繪標題欄文字(如「菜單」)