69,373
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
int main()
{
int a[5]={7,8,9,10,11};
int *ptr1=(int *)(&a+1);
int *ptr2=(int *)((int )a+1);
printf("%x,%x",ptr1[-1],*ptr2);
return 0;
}
uname -a && cat love.c && make love && ./love
FreeBSD freebsd.unix-center.net 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri Jan 12 08:43:30 UTC 2007 root@portnoy.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP amd64
#include <stdio.h>
int
main()
{
int a[5] = {7, 8, 9, 10, 11};
int *ptr1 = (int *) (&a + 1);
int *ptr2 = (int *) ((int) a + 1);
printf("%x,%x", ptr1[-1], *ptr2);
return 0;
}
`love' is up to date.
Memory fault (core dumped)
#include <stdio.h>
int main()
{
int a[5]={7,8,9,10,11};
int *ptr1=(int *)(&a+1);//ptr1指向a[6]
int *ptr2=(int *)((int )a+1); //ptr2指向a[1]
printf("%x,%x",ptr1[-1],*ptr2); //ptr1[-1]=a[5],*ptr2=a[1]
return 0;
}