打印
[应用相关]

语句一样,为什么运行结果不同啊?

[复制链接]
1378|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
不清楚忧先级的话,还是多加括号!

使用特权

评论回复
5
ahuzjh| | 2014-1-11 11:34 | 只看该作者
对于不清楚优先级的最好使用括弧,同时也增加了程序的可读性。编程习惯很重要。

使用特权

评论回复
6
ar_m_cu| | 2014-1-11 11:42 | 只看该作者
这两条语句也不一样,差大了

使用特权

评论回复
7
huangfeng33| | 2014-1-11 18:45 | 只看该作者
这两个语句根本就不一样。。因为 && 的优先级大于 ||

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

460

主题

2188

帖子

12

粉丝