移位迷惑

东软笔试这么一道题

int i=10;

do

{

    i/=2;

}

while

(

  i>>1

);

求程序结束后i的值(A)

A  1       B 2          C 5          D -1

很可能会因为i>>1这个条件而错误,其它这个条件并没有改变i的值。也就是说i>>1,i的值是不变的。只有通过赋值操作才能改变其值i>>=1;

int i=10;

do

{

    i/=2;

}

while

(

  i>>=1

);

此时输出的结果是0;

 

 

你可能感兴趣的:(移位迷惑)