C语言中a=6, b=0<a<6和b=(a>0&&a<6)为什么不同呢?

不好意思,上面的b=(0<a<6)

第1个回答  2012-03-09
a=6,是把6赋值给a;
b=0<a<6,在c语言中,此式不成立;
b=a>o&&a<6,判断0<a<6是否成立,如果成立将1赋值给b,如果不成立将0赋值给b。
第2个回答  2012-03-08
优先级不一样 再说这里面有与的关系这个一假则假所以最后赋的值是不一样的!!
第3个回答  2012-03-08
b=0<a<6 表示把0的值付给B 而A为0<a<6
b=(a>0&&a<6) 表示当A满足大于0同时小于6时 B为1 否则为0追问

是b=(0<a<6),打错了

追答

呵呵 这还没想过
自己 理解 是一样的 B的值为0
有不同的说下 大家一起学习

追问

第一个b等于1,第二个b等于0,但我不知道为什么呀,咳。。。

追答

我试了下 不管A为什么数 只要是整形的
B都为1
因为 它是逻辑运算 如果 分别人 A<6, B就是0
在这里是先算 A是否大于0 是就不算后面的B为1
不是就判断A是否小于6 B绝对为1
这个 在C中根本没意义

本回答被提问者采纳