下面这行if语句等价于if(x%3 != 0),这里的非零,是x%3必须等于逻辑值1才为真,还是等于除0以外其他的数如1234567才是真?
if(a)也是一样吗?
if(x % 3)
if(x % 3)判断真假就是去看x%3的数值了,数值为0就是false,除0以外的其他数均为true。对于int a来说,if(a)也是一样的。
(1) x % 3 != 0 为真的, 那说明 x % 3 是 非 0的其他数, 如果 x % 3 == 0,则 表达式 为 false
(2)if ( x % 3) 这个就不一样了, x % 3 == 0 , 这个表达式 为 false, x % 3 != 0 , 这个表达式 为 true
C语言 0 为 false,非0 为 true