任何编译器上的结果都是5指针减法含义是:两个地址之间有多少个计量单位那么p2-p1的意思就是p2和p1之间有多少个int,那么不管int是16位还是32位甚至64位,结果总是5 .和int的长度没有丝毫关系
p1=a的首地址p2=a的第五单元的地址int 占两个/四个字节所以: p2-p1=5*2 或(5*4)
这要看你的编译器是多少位的了,它所定义的int 型是多少字节的了.你可以实际验证一下.我的机子上结果是5
5