以下问题,的答案是什么,请解释一下

我认为a[5]超出a的下标,所以选择A,请帮忙解释一下。而且如果a[5]这种形式可以的话,那输出内容不应该是a[0]和a[5]的地址差吗

img

答案选C
虽然a[5]越界了,但是是能够取到这个位置的地址的,所以第三行是没有问题的。q指向数组最后一个元素的下一个int类型空间的首地址,所以q-p = 5

的确超出数组长度,但并不意味着访问不到