一个异或的小问题

[复制链接]
1980|6
 楼主| 电信小菜 发表于 2012-6-7 10:15 | 显示全部楼层 |阅读模式
uchar miao;
if(miao^0x0a==0x00)
{

}
miao 是每隔一秒自加一,但是当miao=0x01时,就进入了if语句,并且已确定miao^0x0a=0x0b,为什么会这样
老鱼探戈 发表于 2012-6-7 10:35 | 显示全部楼层
楼主不是0x0b是什么啊
weiyg8051 发表于 2012-6-7 10:45 | 显示全部楼层
运算优先级问题,==的优先级高于^,剩下的自己分析吧。
 楼主| 电信小菜 发表于 2012-6-7 11:41 | 显示全部楼层
谢谢答复!
zhaofy521 发表于 2012-6-7 18:06 | 显示全部楼层
==优先级高于^,先进行0x0a == 0x00 ,结果为0

再进行 miao ^ 0 , 其实就是保持miao 的值,为0x01,为真,所以就进入if
hhhhhhgggg 发表于 2013-1-10 21:56 | 显示全部楼层
5楼正解
joyme 发表于 2013-1-11 09:48 | 显示全部楼层
建议写程序多用括号,既然不太清除优先级就加个括号,可读性也好多了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

53

主题

236

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部