c语言中的0与非0(假真)

在看谭浩强的C程序设计中的逻辑表达式。
判断一个量是否为“真”时,以0代表“假”,非0代表“真”。
但是看到讲解时 year%4==0 //某年能被4整除
year%4 !=0 //某年不能被4整除
这里的0不是假吗? 为什么能被4整除 等于假呢?
求达人用通俗易懂的话来讲解~~

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代表假,是逻辑运算。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-22
0放在等号后面就不代表假了,而是一个数值;
只有作为运算结果时才代表假!
第2个回答  2011-08-22
两个表达式 year%4 与 year%4==0 是不同的
year%4表达式是个算术表达式,用算术表达式的值 来作 真假的判定
year%4==0 是个关系表达式,将 year%4的值与 0作比较,再作真假判定
第3个回答  2011-08-22
!=是不等于的意思
year%4!=0
不等于0为真,意思不还是0为假么
第4个回答  2011-08-22
数学问题,真假为BOOL类型
而整除是运算问题,不能混为一谈。
相似回答