C++中运算符优先级及位运算判断奇偶性

https://blog.csdn.net/lfb_2048/article/details/62040608
具体看上面
如果不清楚 最好保险的就是将先进行的运算加括号
以下面这个位运算判断奇偶数的代码为例说明:

is_odd_prime(){
	int p;
	cout<<"请输入一个奇数"<>p;
	while(1){
	if((p&1)==0){
		cout<<"输入的是偶数,请重新输入:"<>p;
	}
	
	}
}

如果if((p&1)==0)中没有括号 写成 if(p&1==0)的话 则会出错,因为==号的优先级低于&,这样会先计算1==0,而这个结果为0 再p&0,得出结果也是0 就变成了 if(0)这样if之后的代码就永远不会执行!

你可能感兴趣的:(C++中运算符优先级及位运算判断奇偶性)