short i=65537; int j=i+1; printf("i=%d,j=%d\n",i,j);
i=65537,j=65538
i=1,j=2
i=-1,j=0
i=1,j=65538
和上次一个家伙讲的溢出之后溢回来有点差别,short占两个字节,65537的二进制表示为:1 00000000 00000001,short i = 65537时,发生了溢出,i取16bit,为1j为新开辟的一块栈内存,把i的值+1传过去
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题