[问题] 新手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