对数组名取指针的难题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 长度不固定。。。[解决办法]