下面程序段的输出结果是(  )。int i=32770:printf(”%

下面程序段的输出结果是(  )。int i=32770:printf(”%d\n”,i);

问题:

[单选] 下面程序段的输出结果是(  )。
int i=32770:printf(”%d\n”,i);

A . 32769
B . 32767
C . -32766
D . 输出不确定数

参考答案:C

参考解析:

C。【解析】在TurboC2.0环境中,int数据类型在内存中只占两个字节,其表示形式为二进制补码形式,所以范围是:一32768~32767,即l0000000000000002~01111111111111112(首位为符号位)。而32770转换为二进制为10000000000000102,其符号位为l故输出时为.一个负数,而它的绝对值是求负后的结果,补码求负的方法是:先按位求反,再加一。所以求得的绝对值为01111111111111012+1—0111111111111102,即十进制的32766。综上所述,选项C正确。

联系我们

联系我们

查看联系方式

邮箱: 2643773075@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部