问题描述
我试图找到用特定值填充二维数组的最佳方法。 有没有更好的方法来循环二维数组? 我试过 memset 不起作用我试过 std::fill 但我怀疑我的代码有问题。
void fillMultipleArray(int m,int n,int value)
{
int grid[m][n];
memset(grid,sizeof(grid));
for (int i = 0; i < m; i++) {
for (int i = 0; i < n; i++) {
std::cout << grid[m][n] << std::endl;
}
}
}
输出
-272632896 -272632896 -272632896 -272632896 -272632896 -272632896 -272632896 -272632896
提前致谢
解决方法
使用 memset
很好,而是仔细查看您的打印代码,它有多个错误
for (int i = 0; i< m; i++) {
for (int i = 0; i< n; i++) {
std::cout<< grid[m][n]<< std::endl;
}
}
应该是
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
std::cout<< grid[i][j] << std::endl;
}
}
这是一个很好的教训,当输出错误时,可能是因为您的计算错误,但也很可能是您打印的结果错误。尽量不要做太多假设。