C语言位移(左移右移有无符号)之后可以返回原值么?

C语言位移(左移右移有无符号)之后可以返回原值么,请详解,谢谢!

左移右移并不会改变原值,例如
int a = 1;
a<<2;
printf("%d", a); //输出还是1

如果你问的是
int a=1;
a=a<<2;
a=a>>2;
那么最终a的值还是1
但是如果溢出了就移不回来了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-31
如果不被赋值的话,是不改变原来变量的。
我有点没明白你的意思,你可以在百度HI里面联系我把,我帮你解决一下。
第2个回答  2017-10-14
返景入深林,
相似回答