A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨忠磊 中级黑马   /  2015-10-28 22:30  /  890 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


这是    //经典面试题
    int a[]={1,2,3,4,5};
    int *p=(int *)(&a+1);
    printf("%d,%d\n",*(a+1),*(p-1));
    /*自我判断
     1.首先打印的是2
     2.首先打印的是5
重点就在于*(p-1),定义的时候(&a+1)运算的是整个数组的运算地址,然后p又被定义为整形int
所以你明白了吗

8 个回复

倒序浏览
这个是2对吗
回复 使用道具 举报

*(a+1)这个是2
回复 使用道具 举报
明白了,分析了不错!
回复 使用道具 举报
学习了~
回复 使用道具 举报

谢谢,有时间交流
回复 使用道具 举报
张水 中级黑马 2015-10-29 23:59:11
7#
对的 就是2 和5  主要的在于是整个数组地址的移动  +1!!!
回复 使用道具 举报
xiaobei 中级黑马 2015-10-30 20:19:55
8#
嘿嘿,谢谢啦
回复 使用道具 举报
chensc 金牌黑马 2015-10-31 12:43:33
9#
学习学习!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马