C语言储存short变量时65535为什么变成了-1?求详细的分析

C语言储存short变量时65535为什么变成了-1?求详细的分析

问题描述:

img

                                                                                                                       D.1012
                                                           2a
    6下列不合法的常量是
           A.1123
                                                                                                                          D xaif
  7.下列不合法的常量是
                                                                                                          D.语法错误
  shortj-65535:cout<<i:程序段的输出结果是 8. C.-1
                                            B.0
     A.65535

short最大值到32767
65535的十六进制为0xFFFF,无符号的时候是65535,有符号的时候就成-1了