对数组名取指针的难题
int main()
{ int a[5]={1,2,3,4,5};
int *ptr=(int *)(&a+1);
printf("%d\n",*(ptr-1));
}
请教为什么结果是5?!!!
反复测试显示都是数组的最后一个数
[解决办法]
你有什么疑问 结果就是5啊
[解决办法]
我一开始就强调了&a得类型了。
[解决办法]
上面第一句说错了,指针有固定长度, 指针+1 ,的1 长度不固定。。。
[解决办法]
发布时间: 2012-04-05 12:42:40 作者: rapoo
对数组名取指针的难题
int main()
{ int a[5]={1,2,3,4,5};
int *ptr=(int *)(&a+1);
printf("%d\n",*(ptr-1));
}
请教为什么结果是5?!!!
反复测试显示都是数组的最后一个数
[解决办法]
你有什么疑问 结果就是5啊
[解决办法]
我一开始就强调了&a得类型了。
[解决办法]
上面第一句说错了,指针有固定长度, 指针+1 ,的1 长度不固定。。。
[解决办法]