指针的一个妙用

来源:互联网 发布:淘宝网店开店方案 编辑:程序博客网 时间:2024/05/20 22:30

#include <stdio.h>

int main(void){
   int a[5]= {1,2,3,4,5};
   int *ptr = (int*)(&a+1);
   printf("%d  %d",*(a+1),*(ptr-1));
   printf("/n");
   return 0;

}                                                                   

开始看到这道题,相信大多数的人都会得到错误的答案,但是仔细分析你会知道拿错了,(&a+1)看为以整体赋给ptr,此时的ptr已经跳出了a,最后的减1,才是数组a的最后一个数。所有输出为2,5.                                                                                  2010-04-12 

原创粉丝点击