问题:

执行int a=0101,b=a>>2;后,b的值为()。

答案:

25

解析:

  • 0101 是八进制数,转换成十进制为 65
  • >> 是右移运算符,将 a 的二进制位向右移动 2 位,相当于除以 4。
  • 65 / 4 = 16.25,但由于 b 是整型变量,结果将被截断,最终 b 的值为 16

因此,执行完 int a=0101,b=a>>2; 后,b 的值为 16,而不是 25

C语言右移运算:int a=0101,b=a>>2; 后b的值是多少?

原文地址: https://www.cveoy.top/t/topic/nirE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录