C++操作符(&按位与操作符和==等于比较操作符)的优先级问题导致的bug

在一个socket通讯程序中,将socket接收到的字节和0x20比较:

if (buf[0]&0x20 == 0x20)

结果得不到预期效果。

后来发现,上面一行代码执行是按照buf[0]和0x20 == 0x20进行按位与操作,这才发现是操作符优先级问题导致的。

相关文章:C++操作符的优先级及其记忆方法

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享
评论 抢沙发