面试题之数组指针问题

题目

下面代码的输出结果是什么?

 #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));
    return 0;
}

解答

输出结果:
2,5

分析:&a指向的是整个数组a的地址,应该指向的是数组a的末尾,所以是指向&a[5]的。

发布了17 篇原创文章 · 获赞 19 · 访问量 270

猜你喜欢

转载自blog.csdn.net/weixin_44843716/article/details/105620423