gpt4 book ai didi

c - 在for循环中填充二维数组

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

我想在 for 循环中填充一个二维数组。然而,这是行不通的。我不知道为什么...

int main () {

int a = 32;
int x = 100;
int y = 1;
int z = 2;
int i, j;

int ar[32][2] = {{1,x},{}};
// works until here!

// gives me that
1 100
0 0
0 0
0 0
...


// I need the array filled
1 100
somenumber somenumber
somenumber somenumber
somenumber somenumber
...

for (i = 1; i <= a; i++) {
x = (x + y) * z;
ar[i][i] = {{i + 1, x},{}};
}

return 0;
}

test.c: In function ‘main’: test.c:27:14: error: expected expression before ‘{’ token ar[i][i] = {{i + 1, x},{}};

为什么它没有填满数组?!

最佳答案

无论是谁向您解释使用 [x][y] 意味着只是创建一个新数组,这都是不准确的。或者你没理解对。您创建一个数组并以 ElementType ArrayName[RowSize][ColumnSize]; 点的方式指定其大小。

现在我们创建了二维矩阵。要访问其中的每个元素,我们使用 [][] 这种表示法,以及我们想要的元素的所需“坐标”,即 x 和 y:

ArrayName[1][1] = 1; 这会将值 1 分配给 第二列 中的元素em>第二行。请注意,如果您提供“超出范围”的 x 或 y(这些值是在您将数组创建为 RowSizeColumnSize 时提供的),您的系统将会崩溃。

检查您的案例修复情况:

for(int x = 0; x < YourArray.size(); x++)
{
for(int y = 0; y < YourArray[i].size(); y++)
{
YourArray[x][y] = 1; // this will assign 1 to "all" and "every" element.
// so if you need to fill you array with something,
// here is the place where you are iterating every element in your 2d matrix.
// using two for loops, outer is for the rows and inner is for the columns
}
}

关于c - 在for循环中填充二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37058672/

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