基本上,我有一个2d数组,我想用for循环填充这些元素。这是一个粗略的设置(不起作用):
int grid[rows][columns];
for (int i=0; i < rows; i++){
grid[rows][i] = 0;
for (int j=0; j < columns; j++){
grid[columns][j] = 0;
}
}
我有一个用户确定的工作网格。所以基本上如果用户输入x乘x的行和列,它就会起作用。之所以出现这个问题,是因为它在网格的共振峰中打印出随机数。所以有时它会打印出来:
4 4 4 4
4 4 4 4
4 4 4 4
我正在尝试获得一个看起来像的网格:
0 0 0 0
0 0 0 0
0 0 0 0
我首先制作2d数组,然后我尝试用0填充元素。这就是我使用for循环的原因。结果是用0填充每个元素。由于某种原因,它不起作用。我不知道......
任何建议都会有所帮助!谢谢
答案 0 :(得分:5)
您正在错误地访问2D阵列。试试这个:
int grid[rows][columns];
for (int i=0; i < rows; i++)
{
for (int j=0; j < columns; j++)
{
grid[i][j] = 0;
}
}
至于为何获得非零数据,可能是因为2D数组中存在随机数据,无论是从代码中剩余还是因为它从未被初始化。