C语言的题,为什么不是1002?这题是一道应试题目,没有代码,我按照这个说的放在了IDE上,结果是1005,和993,然后就晕了,难道题目错了???
2条回答 默认 最新
buptXiaoY 2020-10-19 20:55关注因为p是地址变量,而int类型的长度是2字节,1001的地址和1002的地址都x占用了,而p+1的意思是指的地址p向下加一,p指向下一个变量,这个变量
在内存中刚好是x的下一个,被因此p向下移动一位是1003,至于为什么是1005和993是因为不同机器定义int占用的字节数不一样。
用数组比较好解答,如果你定义一个int类型的数组长度为5,然后使用p指向
该数组,你输出*p发现是x[0]的值而*(p++)是x[1]的值解决 无用评论 打赏 举报