if(!p)等价于 if(p==0)
具体理解:
p
作为条件表达式时,任何非零值都会被视为true
(真),零值视为false
(假)。!p
:如果p
为非零(真值),!p
为false
(0);如果p
为0,!p
为true
(1)。
if (!p) {// 当p为0时,这个块会执行
}
if (p == 0) {// 当p为0时,这个块会执行
}
简明总结:
if (!p)
检查p
是否为零if (p == 0)
也明确表达了同样的意思
p
作为条件表达式时,任何非零值都会被视为true
(真),零值视为false
(假)。!p
:如果p
为非零(真值),!p
为false
(0);如果p
为0,!p
为true
(1)。if (!p) {// 当p为0时,这个块会执行
}
if (p == 0) {// 当p为0时,这个块会执行
}
if (!p)
检查p
是否为零if (p == 0)
也明确表达了同样的意思