[問題] 新手if用法問題

看板C_and_CPP (C/C++)作者 (11公分的嘉航)時間5年前 (2020/07/05 16:52), 編輯推噓4(409)
留言13則, 7人參與, 5年前最新討論串1/1
因為最近剛學遇到一個打法是 if(!int) 我自己去測發現好像跟if(int == 0)是一樣的 請問這是什麼特殊用法嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.114.252.41 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1593939135.A.F84.html

07/05 17:33, 5年前 , 1F
! 是 logic operator,在運算時 int 會被隱式轉型成 bo
07/05 17:33, 1F

07/05 17:33, 5年前 , 2F
ol。兩種寫法都可以,不過我比較偏好用 == 就是了
07/05 17:33, 2F

07/06 01:53, 5年前 , 3F
如果你不是多寫一個字就會死的人 那用i == 0表達比較清楚
07/06 01:53, 3F

07/06 01:54, 5年前 , 4F
這兩個寫法是邏輯上相等 !(logical not)運算會把所有非0的
07/06 01:54, 4F

07/06 01:55, 5年前 , 5F
值轉成0 而把0轉成1 在C裡面非0就是True 只有0是False
07/06 01:55, 5F

07/06 11:01, 5年前 , 6F
要寫,不要打。都民國幾年了還在打。
07/06 11:01, 6F

07/06 13:16, 5年前 , 7F
if(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!int == 0)
07/06 13:16, 7F

07/06 18:54, 5年前 , 8F
XD !接龍
07/06 18:54, 8F

07/06 22:49, 5年前 , 9F
因為 C 是以是否 == 0 判斷,所以可以這樣用。之前也有文指
07/06 22:49, 9F

07/06 22:49, 5年前 , 10F
出這樣寫,執行不會比較快,因此還是挑可讀性佳的用。然後
07/06 22:49, 10F

07/06 22:49, 5年前 , 11F
有些語言如 julia,判斷是使用 bool 而非 int ,這種就一定
07/06 22:49, 11F

07/06 22:49, 5年前 , 12F
要用 == 判斷。
07/06 22:49, 12F

07/06 22:55, 5年前 , 13F
在 C 裡兩者是一樣的
07/06 22:55, 13F
文章代碼(AID): #1V0PI_-4 (C_and_CPP)
文章代碼(AID): #1V0PI_-4 (C_and_CPP)