读书人

amp;与==的优先级解决方法

发布时间: 2012-03-25 20:55:17 作者: rapoo

&与==的优先级
在标准里&运算符比==的运算符优先级高,但是如下代码
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))
{
}

读书人网 >C++

热点推荐