下列程序的输出结果是()。
int main(void) { int a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, *p = a+3; printf(“%d”, *++p); return 0; }
A.3
B.4
C.a[4]的地址
D.非法
答:B
解析:数组 a 的长度为 10,a 指向了数组的基地址,也就是第 1 个元素的地址。指针变量 p,初始值为 a+3,就表示指向了 数组 a 中的第 4 个元素的地址,打印的是 ++p 之后表示指向了第 5 个元素,也就是数值 4。