int a[5]={1,2,3,4,5};printf("%d\n", *((int*)(&a+1)-2);

有说服力的笔试题有一定的期限,问:什么是结果,答案是4,为什么要挤?

我明白(不知道是不正确):

&a这是一个数组指针,类型int[5],然后&a添加1其实a+sizeof(int)*5,这是a[5]。转换为int该类型a+5,的结果a[3]=4。


版权声明:本文博客原创文章,博客,未经同意,不得转载。

posted @ 2015-07-19 09:54  yxwkaifa  阅读(1307)  评论(0编辑  收藏  举报