int a=65536; printf("%d",a); 答案A)-1 B)0 C)65536 如果算2字节,就该选B,算4字节就该选C

选择的依据和方法是什么 求指导。还有在搜答案是看到“1 整型变量在不同的编译系统中,占用字节数不一样。在TC中,占2字节,在VC中占4字他。
2 在TC中,如果a的值大于2个字节的话,输出的是将是最后的两个字节内容,超过两个字节的部分将丢失。”
这句话能用来解答这道题吗

十进制数65536,二进制表示即1 0000 0000 0000 0000

所以这个地方要考虑溢出的问题,如果是两字节存储的话,也就是16位,显然溢出了,所以舍去高位的1,就留下0了,所以答案是0;如果是超过2字节存储的,那就不存在溢出的问题,该多少就是多少,65536

追问

那么我问题中的那句话怎么理解

追答

同一个意思

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-30
这个可以用2进制来看的
2个字节
就是全部是1的时候
1111 1111 1111 1111 = -32767 //也就是我们赋值65535
再加1就是
0000 0000 0000 0000 = 0
所以答案就是0追问

-32767什么意思

追答

  int 是有符号的
  第一个1 是符号位,表示是负数,后面15个1 转成10进制就是32767