首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

int b = (++ a,a >> 1)这样的语句应该怎样理解?该如何处理

2012-02-22 
int b (++ a,a 1)这样的语句应该怎样理解?完整内容如下,请问最终计算结果及原因int a 4int b (+

int b = (++ a,a >> 1)这样的语句应该怎样理解?
完整内容如下,请问最终计算结果及原因
int a = 4;
int b = (++ a,a >> 1);
b * a;

[解决办法]
(++a, a>>1)
这里是先a+1,得a=5
然后a右移1位,得2,但是a仍然=5
这括号是逗号运算符,所以取2赋给b,
然后a*b=5*2=10
[解决办法]
为什么a值不变,能不能详细说一下?

比方说……
您写
int i=0;
i-1;

执行完i-1之后,i还是0……

所以
a>>1之后,a还是原来的值……
想它的值变?
那就用a=a>>1吧……

热点排行