int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是().
A
2
B
3
C
4
D
不一定
c
p=&a[5]
p[-3]就是a[2]
根据参考资料,可以得出以下结论: - 给定int数组a[10]的元素值为{1, 2, 3, 4, 5, 6, 7, 8},指针p指向a[5]的地址,即p=&a[5]。 - 求p[-3]的值,即相当于a[5-3],即a[2]的值为3。 - 答案为B. 3。
代码展示:
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8};
int *p = &a[5]; //指向a[5]的地址
int result = p[-3]; //求p[-3]的值
printf("%d", result); //输出结果为3