首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

&与==的优先级解决方法

2012-03-25 
&与的优先级在标准里&运算符比的运算符优先级高,但是如下代码int a -4if (a&0x800000000x8000000

&与==的优先级
在标准里&运算符比==的运算符优先级高,但是如下代码
int a = -4;
if (a&0x80000000==0x80000000)
  printf("OK");
却打印不出来,如果加上()如((a&0x80000000)==0x80000000)就运行正常

不知道怎么回事?


[解决办法]

[解决办法]
那说明你优先级搞错了呗。
[解决办法]
呃,我一般都是搞括号的,管他哪个优先
[解决办法]

探讨
在标准里&运算符比==的运算符优先级高,但是如下代码
int a = -4;
if (a&0x80000000==0x80000000)
printf("OK");
却打印不出来,如果加上()如((a&0x80000000)==0x80000000)就运行正常

不知道怎么回事?

[解决办法]
我从来不知道优先级。我写代码都这样:
if((a > 10) || (a < 20))
{
}

热点排行