[应用相关] 语句一样,为什么运行结果不同啊?

[复制链接]
 楼主| jxmzzr 发表于 2014-1-10 20:44 | 显示全部楼层 |阅读模式
#define GPIO_KEY  GPIOA            


GPIO_KEY->ODR = (GPIO_KEY->ODR | 0x00ff) & 0xfffe ;   

// GPIO_Write(GPIO_KEY ,(GPIO_KEY->ODR | 0x00ff & 0xfffe)); //先让PA0到PA3全部输出高。


这两条语句一样吧?但是运行结果为什么不同啊?
拿起书本 发表于 2014-1-10 21:47 | 显示全部楼层
呵呵,增加程序的可读性,便于检查。希望楼主养成良好的编程习惯啊。
sjnh 发表于 2014-1-10 21:54 | 显示全部楼层
| & 优先级不一样, &要高
dtlz 发表于 2014-1-11 11:15 | 显示全部楼层
不清楚忧先级的话,还是多加括号!
ahuzjh 发表于 2014-1-11 11:34 | 显示全部楼层
对于不清楚优先级的最好使用括弧,同时也增加了程序的可读性。编程习惯很重要。
ar_m_cu 发表于 2014-1-11 11:42 | 显示全部楼层
这两条语句也不一样,差大了
huangfeng33 发表于 2014-1-11 18:45 | 显示全部楼层
这两个语句根本就不一样。。因为 && 的优先级大于 ||
您需要登录后才可以回帖 登录 | 注册

本版积分规则

460

主题

2188

帖子

12

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