对数组名取指针的难题int main(){ int a[5]{1,2,3,4,5}int *ptr(int *)(&a+1)printf(%d\n,*(ptr-1))
对数组名取指针的难题
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 长度不固定。。。
[解决办法]
