加小括号为何不行

[复制链接]
3564|15
 楼主| entepino 发表于 2011-6-25 21:10 | 显示全部楼层 |阅读模式
加小括号为何不行?

if(0x0==(g_Status.ButtonFlag&(0x02)))
{
}
为了防止变量g_Status.ButtonFlag0进行&运算,而不是跟0x02进行&运算,我在0x02外面加了一个小括号,发觉这样运行不了;必须把小括号去掉,才能正常运行,像下面这样,
if(0x0==(g_Status.ButtonFlag&0x02)),我也没看反汇编,这个现象是编译器设置问题,还是C语言就应该这样?有知道的吗,进来说说。
dqyubsh 发表于 2011-6-25 21:37 | 显示全部楼层
不是这里的问题,括号可以任意加的,只要不改变运算优先级。
 楼主| entepino 发表于 2011-6-25 21:43 | 显示全部楼层
是这里的问题,我去掉小括号,就好了。
原野之狼 发表于 2011-6-25 22:49 | 显示全部楼层
呵呵 神奇了
mbutterfly 发表于 2011-6-26 00:09 | 显示全部楼层
如果可能,应该是变量类型的问题。
谈的元 发表于 2011-6-26 00:53 | 显示全部楼层
本帖最后由 谈的元 于 2011-6-26 00:54 编辑

是不是你括号书写的问题呢?你用复制括号看看?

你贴的括号 看起来 是不是有点与众不同?
adams.gh 发表于 2011-6-26 08:04 | 显示全部楼层
LS 好眼力!
johnwjl 发表于 2011-6-26 13:56 | 显示全部楼层
6楼是正解。
hdp7891000 发表于 2011-6-26 18:48 | 显示全部楼层
常数为什么加括号呢?
jack_shine 发表于 2011-6-26 18:58 | 显示全部楼层
lz的括号应该是在中文输入下输入的
mbutterfly 发表于 2011-6-26 20:46 | 显示全部楼层
6楼看的仔细。楼主也没说明白,是说运行不行。其实编译的时候是通不过才对。
freeman_me1018 发表于 2011-6-26 20:51 | 显示全部楼层
c语言中应该是可以加括号的
liang7143 发表于 2011-6-27 10:32 | 显示全部楼层
括号 应该是可以任意加的
delin17 发表于 2011-6-27 12:37 | 显示全部楼层
6楼厉害,眼神好中:(
英:(
delin17 发表于 2011-6-27 12:38 | 显示全部楼层
joyme 发表于 2011-6-27 14:54 | 显示全部楼层
不是与众不同,是跟同一行的其他括号都不一样,应该不是英文下输入的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

214

主题

653

帖子

2

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