分类: C/C++
2011-09-06 19:59:45
在x86 系统下,输出的值为多少?
#include
intmain()
{
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;
}
rainballdh2011-09-11 23:04:40
main:
pushl %ebp
movl %esp, %ebp
andl $-16, %esp
subl $48, %esp
movl $1, 20(%esp)
movl $2, 24(%esp)