首页 > 试题广场 >

给出以下程序的执行结果。 #include void m

[问答题]
给出以下程序的执行结果。
#include <stdio.h>
void main()
{
    short int n=-32768;    /*-2^15=-32768*/
    n--;
    printf("&d\n",n);
}

推荐
32767
发表于 2018-03-23 20:39:02 回复(0)
是%d吧
发表于 2019-07-17 07:41:16 回复(0)
01111111 11111111=32767, 32767+1=-32768.
发表于 2018-04-08 14:45:35 回复(0)
short int为2bit 取值范围为-32768--32767溢出首尾交换 答案是32767
发表于 2018-03-24 19:01:51 回复(0)
n=-32768,n--,换成补码运算,如下: 1000 0000 0000 0000 +1111 1111 1111 1111 = 10111 1111 1111 1111 因为短整型只有两个字节十六位,故把进位给忽略掉,结果为0111 1111 1111 1111 即32767
编辑于 2018-03-23 22:39:09 回复(0)