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

本文通过一个位运算判断奇偶数的代码示例,详细解释了如何避免因运算符优先级导致的错误。强调了在复杂表达式中使用括号以确保正确执行顺序的重要性。

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值