C语言编译系统在给出逻辑运算结果时,以数字1表示“真”,以数字0表示“假”,但在判断一个量是否为“真”时,以非0表示“真”,以0表示“假”。 可以将逻辑表达式的运算结果(0或1)赋给整型变量或字符型变量
C语言中if语句测试一个表达式是否非0。非0就是真,0表示假。if
(a)
等价于
if
(a
!=
0)
就是测试a非0。
0可以是判断真假的,但并不是所有的0都是判断真假的作用。0在逻辑运算中代表假,在数学运算中就是0.
year%4==0 中的0就是数字,==左边的是余数,判断余数是不是和0相等。
你这个代码应该是嵌套在if语句中的吧?if(year%4==0 ),
如果year=2008,那么year%4的值就是0,0是数学运算的数值,也就是说year%4==0为真。也就是if(1)。
如果year=2009,那么year%4的值就是1,也就是说year%4==0为假。也就是if(0),这里的0代表假,是逻辑运算。