gpt4 book ai didi

c++ - 使用指针遍历多数组

转载 作者:搜寻专家 更新时间:2023-10-31 00:39:16 25 4
gpt4 key购买 nike

for ( j = 0; j < d1; j++ ){

m += j;
for ( i = 0; i < d1*d2; i +=d2){
cout << *(m+i);
}
cout << endl;
}

d1,d2为数组维度

int* m = new int [d1*d2];

我想遍历我的数组并简单地分组并打印列。无法弄清楚这段代码有什么问题。在以下示例中直到第 3 次迭代之前似乎工作正常:

假设我的输入值为 1 2 3 4 5 6 7 8 9

我得到:

1 4 7

2 5 8

4 7 (something random)

最佳答案

m += j;

您首先将 m 递增 0,然后递增 1,然后递增 2。如果我们最初复制了一份

int *start = m;

然后在外循环的第一次迭代中,我们将有

m == start

第二,

m == start + 1

第三个

m == start + 3

你会想要 m == start + 2 在那里。除了你想保留 m 以便在最后 delete 它,所以你根本不应该改变 m 而是使用类似的东西

for ( j = 0; j < d2; j++ ){

for ( i = j; i < d1*d2; i +=d2){
cout << *(m+i);
}
cout << endl;
}

关于c++ - 使用指针遍历多数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16441228/

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