-
程序:
//在x86平台下, 分析以下代码的输出结果: #include <stdio.h> int main(int argc, const char *argv[]) { int a[4]={1,2,3,4}; int *ptr1=(int *)(&a+1); int *ptr2=(int *)((int)a+1); printf("%x,%x\n",ptr1[-1],*ptr2); return 0; }
-
结果:
-
这里需要注意的是,在ubuntu12版本的能正确输出,19版本的不能执行,会出现段错误