gpt4 book ai didi

c - 元素及以后的指针算术。这段代码有什么问题?

转载 作者:太空宇宙 更新时间:2023-11-04 06:31:50 24 4
gpt4 key购买 nike

请问这段代码有什么问题。它应该打印到 y[4] 然后跳出 while 循环,但它打印到 y[12] 并从那里中断;我认为在 y[5] 到 y[12] 之间打印是错误的。以某网站为例,指针运算仅限于数组元素和数组元素以外的元素。

#include <stdio.h>

int main()
{
int i = 0;
int x[5] = {0, 1, 2, 3, 4};
int y[5];
int *ptr = x;
while (&y[i] != (ptr+5)){
y[i] = x[i];
printf("Value of y[%d] is : %d\n", i, y[i]);
i++;
}

return 0 ;
}

最佳答案

你的条件 (&y[i] != (ptr+5) 是错误的。Y 是一个数组,它指向内存中与 x 完全不同的区域。所以条件将保持不变是的。

关于c - 元素及以后的指针算术。这段代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19723997/

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