以下程序输出结果为( )。 class test 2 { public static void main(String args[]) { int n = 7; n<<=3;

admin2010-02-22  19

问题 以下程序输出结果为(    )。    class  test  2    {      public static void main(String args[])      {          int n = 7;          n<<=3;          n=n&n+1|1n+2^n+3;          n>>=2;          System.out.println(n);      }    }

选项 A、0
B、-1
C、14
D、64

答案4

解析 第1个赋值语句使得n的值为7, 7的二进制形式为00000111,第2个赋值语句可写为n=n<<3,n左移3位的结果为 00111000,即第3个赋值语句的运算顺序为 (((n&n)+(1|n))+(2^n))+3,运算结果为57(十进制),其二进制形式为00111001,第4个赋值语句使n的值右移2位,由于n的符号位为0,因此,在右移时左边填充位为0,即 00001110,其十进制形式为14。
转载请注明原文地址:https://kaotiyun.com/show/DYnp777K
0

最新回复(0)