intarr[]={0,12,1,23,65,1,3,99,78};printf("%d\n",arr[-1]);for(inti=0;i<7;i++){printf("%d\n",arr[-1]);}结果是326890,1,2,3,4,5,6,循环中为啥是一串连续的数字呢,和i是如此一样问题已得到解答,其实问题可以简化为intarr[]={0,12,1,23,65,1,3,99,78};inti;printf("%p\n",arr]);printf("%p\n",&i);结果会发现arr的地址正好是i后面的一个整型长度的地址(这里有个小问题,我在wsl上试着是4个字节,而在mac是两个字节,但mac上的整型也是4个字节,不知道为什么这儿就变成两个字节了),所以arr[-1]的地址正好与i的地址一致
SMILET
莫回无
相关分类