清除数组时如何使用模数

How to use the modulus when clearing an array?

本文关键字:何使用 清除数组      更新时间:2023-10-16

我有一个清除多维数组的方法。我不是两个 for 循环,而是使用 One for O(n)。在这样做时,我必须检查它是否每次在每行中都达到数组的宽度。

正在尝试使用模数来查看我是否等于宽度,或宽度加倍等,以便它进入下一行。当 i = 0 且 m_width = 5 时,调试器进入第二个代码块,但这不正确,所以我的算法一定是错误的。我不经常使用模量,所以我确定这就是麻烦。我该如何解决这个问题?提前谢谢你。

// Clear the cells with the requested value.
for (int i = 0; i < size; i++)
{    
    // If the width has been reached, go to the next row. 
    if ((i % m_width) == 0) 
    {
        row++;
        col = 0;
    }  

你的问题是 0 模任何数等于 0。如果您在模量检查之前检查 i 是否> 0,它应该可以正常工作。