选择题

有以下程序段:
int*p1, *p2, a[10] ;
p1=a;
p2=&a[5] ;
则 p2-p1 的值为(     )。

【正确答案】 A
【答案解析】

当直接用数组名给指针赋初始化值时, 表示把数组首地址的值赋给指针, p1=a, 表示把 a[0] 地址赋给 p1, p2=&a[5], 表示将数组第 5 个元素地址赋给 p2, p2-p1=5。