大学生
最后登录1970-1-1
在线时间 小时
注册时间2015-8-12
|
发表于 2015-8-12 11:18:09
|
显示全部楼层
解析 先把程序扩展下 如下:
#include<stdio.h>
main()
{
int a[5] = {1,2,3,4,5};
int *ptr = (int*)(&a+1);
int *p = (int*)(&a);
printf("%d,%d\n ",*(a+1),*(ptr-1));
printf("PTR指针指向的地址%d\n",ptr);
printf("%d\n",*(ptr-3));
printf("%d\n",*p);
printf("a的地址是%d,数组a[]长度%d\n",&a,sizeof(a));
}
正确答案 2 5 ,调试数组a地址为1638196 ,ptr指向地址为1638216,所以*(ptr-1)=a[5]
|
-
运行结果
|