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

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

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

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


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

原文地址:https://www.cnblogs.com/yxwkf/p/4658209.html