填充多维数组的最佳方法是什么

问题描述

我试图找到用特定值填充二维数组的最佳方法。 有没有更好的方法来循环二维数组? 我试过 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;
    }
}

这是一个很好的教训,当输出错误时,可能是因为您的计算错误,但也很可能是您打印的结果错误。尽量不要做太多假设。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...