有以下程序: #include main() { char a=4; printf("%d\n",a=a<<1); } 程序运行的结果是( )。

admin2020-11-27  53

问题 有以下程序:
  #include
  main()
  {  char a=4;
    printf("%d\n",a=a<<1);
  }
  程序运行的结果是(    )。

选项 A、40
B、16
C、8
D、4

答案C

解析 移位运算符的优先级比赋值运算符优先级高,故语句“a=a<<1”先进行a的二进制移位运算,左移一位相当于原数乘以2,a<<1结果为4*2=8,没有超过char类型的范围,将8赋值给a,并输出a的值。
转载请注明原文地址:https://jikaoti.com/ti/AMD0FFFM
0

最新回复(0)