[转]warning C4552: '>>' : operator has no effect; expected operator with side-effect

本文探讨了在C/C++编程中使用右移操作符(>>)时常见的一个误区,即直接使用表达式“变量>>数值”而非“变量>>=数值”。文章解释了为何前者会导致编译器发出警告,而后者才是实现变量值右移的正确方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

warning C4552: '>>' : operator has no effect; expected operator with side-effect

右移操作的时候,一不小心就出现这种警告,结果不能达到预期

原因:

右移操作符>>用法错误,在写代码时候写成了:

Msg>>1;

原意是将a右移4位,结果却出现warning C4552: '>>' : operator has no effect; expected operator with side-effect没有达到右移的目的。

解决:

Msg>>=1;即是Msg=Msg>>1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值