黑马程序员技术交流社区
标题:
面试题
[打印本页]
作者:
Jusive
时间:
2015-10-2 12:35
标题:
面试题
#include<stdio.h>
int main(){
int a[]={1,3,5,8};
int *p=(int*)(&a+1);//移动的是数组的长度
printf("%d,%d\n",*(a+1),*(p-1));
return 0;
//整个数组的指针与数组元素的指针的区别
}
作者:
超の
时间:
2015-10-2 16:57
这个题的结果为:3,8,因为数组的指针指的时二级指针,数组元素的指针是一级指针
作者:
findwhy
时间:
2015-11-5 13:05
学习一下
作者:
poxiao
时间:
2015-11-8 20:55
前来学习一下
作者:
强强ios
时间:
2015-11-8 21:32
学习一下,面试还是有点压力的
作者:
谁在放荡
时间:
2015-11-8 22:10
学习一下,有收获
作者:
大雕会飞
时间:
2015-11-8 22:13
学习了,学习了
作者:
王世杰
时间:
2015-11-8 22:17
学习一下!!!!
作者:
toveyloves
时间:
2015-11-9 00:19
要验证数组的指针与数组元素的指针的区别 P不是+1? p-1有什么意义.
作者:
吴永涛
时间:
2015-11-9 00:37
来看大神解答!
作者:
许本亮
时间:
2015-11-9 09:22
有答案详解公布没有
作者:
black747521
时间:
2015-11-9 10:35
3,8 正如注释所写的,&a是一个二级的地址,&a+1移动的是整个数组的长度。所以p指向了a+4,尽管这个地址并不属于数组,但是p确实是指向了这个地址,最后输出时,p—1又指向了a[3],所以输出应该是 3,8
作者:
zhecipinle
时间:
2015-11-9 12:12
原来如此
作者:
谁在放荡
时间:
2015-11-9 13:48
已经学习了,很不错
作者:
伍陶陶
时间:
2015-11-9 15:43
知道第一个是3,但是后面不懂为什么是8,原来数组加一是移动一个数组的长度!!
作者:
649685603
时间:
2015-11-9 16:16
我是来听课的 大神好厉害的啊 加油 快开班了 好紧张啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2