#include <stdio.h>
int main()
{ int a[5]={1,2,3,4,5}; int *ptr1=(int *)(&a+1); int *ptr2=(int *)((int)a+1); printf("%x,%x",ptr1[-1],*ptr2); return 0;
}
#include <stdio.h> int main() { int a[5]={1,2,3,4,5}; int *ptr1=(int *)(a+1);//a本来就是一个地址了,不要再加&了 int *ptr2=(int *)(a+1);//同理,强制转换成int使得+1会出错 printf("%x,%x",ptr1[-1],*ptr2); return 0; }