“”与“==”的优先级谁更⾼?
在编程语⾔中,运算符的优先级是我们必须考虑的⼀个问题。那么在C/C++中,“&”和“==”谁的优先级更⾼⼀些呢?我们来看⼀下下⾯的两段程序:
程序⼀:
#include <iostream>
using namespace std;
int main()
{
int a=0x0011,b=0x1100;
if((a&b)==0)
cout<<"a&b==0"<<endl;
else
cout<<"a&b!=0"<<endl;
return 0;
}
显然输出结果 为:a&b==0
程序⼆:
#include <iostream>
using namespace std;
int main()
{
int a=0x0011,b=0x1100;
if(a&b==0)
cout<<"\"&\"优先级更⾼!"<<endl;
else运算符优先级图片
cout<<"\"==\"优先级更⾼!"<<endl;
return 0;
}
那么,这段程序会输出什么呢?答案是:"=="优先级更⾼!
⼤多数⼈总会认为“&”运算要⽐“==”运算优先级⾼,对于表达式a&b==0,应该先判断a&b,再判断是否等于0,其实不然。由上例可以看出,“==”运算要⽐“&”运算优先级更⾼,所以先判断b==0为假,再和a进⾏&运算为假,然后执⾏else输
出"=="优先级更⾼!
所以,编程之中⼀定要牢记运算符的优先级问题,不可凭感觉⾃以为是,以免写出错误的代码。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论