问题:
[单选] 下面程序段的输出结果是( )。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正确。
版权声明
声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益
请联系本站我们将配合处理!
