int *p=&arr+1;取的是第五个元素的地址,因为&arr是表示的是数组的地址,&arr+1就是数组的地址向高位跨一步,这一步就是数组的字节数,数组有五个int类型的元素,所以数组的字节数为20个字节,所以数组要像高位跨20个字节。 那么&arr+1表示的就是在第五个元素之上的一个地址。所以*(p-1)表示的就是第五个元素之上的那个地址向后移动4个字节,刚好走到了第五个元素的空间里。。所以最后输出的结果是5.
Int *P=arr+1,取的是第二个元素的地址,因为arr==&arr[0]..所以arr+1相当于第一个元素向前跨4个字节,
所以*(P-1)就是第二个元素向地位移动4个字节,最后结果就是1