【以下回答由 GPT 生成】
答案:D. ffcd
解释:在C语言中,数组名是数组的第一个元素的地址,所以p指向数组a的第一个元素2的地址。 在第一个printf语句中,%x表示以十六进制形式输出,所以输出的是2的十六进制地址,即ffca。 在第二个printf语句中,p+9表示p指针向后偏移9个(int类型大小为4字节)元素的地址,即指向数组a的最后一个元素20的地址。 所以输出的是20的地址的十六进制表示,即ffcd。
数组名是个指针。
p=a,p指向数字第一个元素,p+9,指针后移个元素,等价于a[9].
a[10]越界了。下标0-9