看板 C_and_CPP 關於我們 聯絡資訊
因為最近剛學遇到一個打法是 if(!int) 我自己去測發現好像跟if(int == 0)是一樣的 請問這是什麼特殊用法嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.114.252.41 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1593939135.A.F84.html
Lipraxde: ! 是 logic operator,在運算時 int 會被隱式轉型成 bo 07/05 17:33
Lipraxde: ol。兩種寫法都可以,不過我比較偏好用 == 就是了 07/05 17:33
Richun: 如果你不是多寫一個字就會死的人 那用i == 0表達比較清楚 07/06 01:53
Richun: 這兩個寫法是邏輯上相等 !(logical not)運算會把所有非0的 07/06 01:54
Richun: 值轉成0 而把0轉成1 在C裡面非0就是True 只有0是False 07/06 01:55
MOONRAKER: 要寫,不要打。都民國幾年了還在打。 07/06 11:01
stupid0319: if(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!int == 0) 07/06 13:16
cuteSquirrel: XD !接龍 07/06 18:54
sppmg: 因為 C 是以是否 == 0 判斷,所以可以這樣用。之前也有文指 07/06 22:49
sppmg: 出這樣寫,執行不會比較快,因此還是挑可讀性佳的用。然後 07/06 22:49
sppmg: 有些語言如 julia,判斷是使用 bool 而非 int ,這種就一定 07/06 22:49
sppmg: 要用 == 判斷。 07/06 22:49
loveme00835: 在 C 裡兩者是一樣的 07/06 22:55