在C语言中,if语句后面应该是一个逻辑值,有真或假两种可能。
它可以是一个表达式,比如5>3为真,等等;也可以仅仅是一个值,比如定义了一个bool型变量flag,若flag的值为true, if (flag)就相当于 if (true),因此判断条件成立,执行if语句。
特别的,C语言把假定义为0,而一切非0值都认为是真。所以若a不为0,if (a) 就是 if (true)。
明白?
说一下其他几个为什么错:a<>0是pascal的语法,!a刚好反了(a不为0时,!a即为0),a=0是一个赋值表达式,表示先把0赋给a,然后a的值就是整个表达式的值。也即,if (a=0)相当于: a=0; if (a)……
它表示的也是a等于0.
温馨提示:答案为网友推荐,仅供参考