gpt4 book ai didi

c - 索引变量不会增加数组移位

转载 作者:行者123 更新时间:2023-11-30 20:30:47 25 4
gpt4 key购买 nike

我想将 2D 数组的元素向右移动 n 个元素。我的数组有 26 个元素。这似乎不起作用,我不知道为什么。

i = 2;
c = 0;
for (i; i < 26; i++)
{
array[1][i-1] = array[1][c];
c++;
}

但是我用数组[0][0]的元素覆盖索引 i 处的每个元素,而不是用下一个元素。

索引变量 c 似乎没有增加,我真的不知道为什么。

感谢您的任何意见。

最佳答案

拿一张纸,一步一步写下发生的事情。

喜欢:

i = 2;
c = 0;
array[1][1] = array[1][0];
c=1;
i=3;
array[1][2] = array[1][1];
c=2;
i=4;
array[1][3] = array[1][2];
. . .

正如您所看到的,您首先将元素 0 的值分配给元素 1,然后将元素 1 的值分配给元素 2。由于元素 1 的值与元素 0 的值相同,因此元素 2 现在持有与元素 0 和元素 1 的值相同。因此,最终,您实际上将元素 0 的值分配给了所有其他元素。

解决办法是从另一端开始。即:

array[1][25] = array[1][24];
array[1][24] = array[1][23];
array[1][23] = array[1][22];
. . .

关于c - 索引变量不会增加数组移位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53319004/

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