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 不一定

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]

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    根据参考资料,可以得出以下结论: - 给定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
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^