gpt4 book ai didi

c - &(p[*(i + j)]) 到底是做什么的?

转载 作者:太空狗 更新时间:2023-10-29 15:17:50 25 4
gpt4 key购买 nike

运行以下代码将打印出orld。这里发生了什么? &(p[*(i + j)]) 究竟做了什么?

#include <stdio.h>
char p[] = "HelloWorld";
int i[] = {2,1,3,5,6}, j = 4;

int main()
{
printf(&(p[*(i + j)]));
return 0;
}

最佳答案

char p[] = "HelloWorld";
int i[] = {2,1,3,5,6}, j = 4;

&(p[*(i + j)]) 计算如下:

这里的i数组i基地址。因此,i+4 将是 数组 i第五个元素地址*(i+j) 将等于 6P[6] 将在 W 之后为 o&(p[*(i + j)])等于&p[6]。因此,在 printf 中,您传递的是 o 的地址输出 将是 orld

关于c - &(p[*(i + j)]) 到底是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22301065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com