ICCAVR语法求教!

[复制链接]
 楼主| 电子乌托邦 发表于 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

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

140

主题

633

帖子

2

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