打印

ICCAVR语法求教!

[复制链接]
1792|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
电子乌托邦|  楼主 | 2009-5-30 19:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
编译环境:ICCAVR
语言:C

在程序里写了一句话:if(EEPROMData[0]&0x0f != 0)

初衷是将EEPROMData[0]的值跟0x0f相与后比较是否为0;

调试总是不符合预想的值,逻辑失败,改为:if((EEPROMData[0]&0x0f) != 0)

调试正常,看了C书的运算符优先级,"&"优先级是2,"!="是7,不知何解?

相关帖子

沙发
arm_fan168| | 2009-5-31 11:14 | 只看该作者

取地址符号&

优先级为2的&表示的取地址符号,位与运算的&优先级是8

使用特权

评论回复
板凳
音乐乐乐| | 2009-5-31 12:46 | 只看该作者

多加括号吧,偶是不管谁高谁低,一律加括号

使用特权

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

本版积分规则

140

主题

633

帖子

2

粉丝