[問題] 新手if用法問題

作者: lllll12b56 (saiwagon)   2020-07-05 16:52:13
因為最近剛學遇到一個打法是 if(!int)
我自己去測發現好像跟if(int == 0)是一樣的
請問這是什麼特殊用法嗎?
作者: Lipraxde (Lipraxde)   2020-07-05 17:33:00
! 是 logic operator,在運算時 int 會被隱式轉型成 bool。兩種寫法都可以,不過我比較偏好用 == 就是了
作者: Richun (解放左手的OO之力)   2020-07-06 01:53:00
如果你不是多寫一個字就會死的人 那用i == 0表達比較清楚這兩個寫法是邏輯上相等 !(logical not)運算會把所有非0的值轉成0 而把0轉成1 在C裡面非0就是True 只有0是False
作者: MOONRAKER (㊣牛鶴鰻毛人)   2020-07-06 11:01:00
要寫,不要打。都民國幾年了還在打。
作者: stupid0319 (徵女友)   2020-07-06 13:16:00
if(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!int == 0)
作者: cuteSquirrel (松鼠)   2020-07-06 18:54:00
XD !接龍
作者: sppmg (sppmg)   2020-07-06 22:49:00
因為 C 是以是否 == 0 判斷,所以可以這樣用。之前也有文指出這樣寫,執行不會比較快,因此還是挑可讀性佳的用。然後有些語言如 julia,判斷是使用 bool 而非 int ,這種就一定要用 == 判斷。
作者: loveme00835 (髮箍)   2020-07-06 22:55:00
在 C 裡兩者是一樣的

Links booklink

Contact Us: admin [ a t ] ucptt.com