c++ - 数组循环不能正常工作? C++

标签 c++ arrays boolean

尝试计算数组中有多少元素不等于 0,是否设置有误?

我想检查数组中的所有值(这是一个数独板),然后当所有元素都“满”时,我需要返回 true。 有什么不对吗?

bool boardFull(const Square board[BOARD_SIZE][BOARD_SIZE])
{
    int totalCount=0;
    for (int index1 = 0; index1 < BOARD_SIZE; index1++)
        for (int index2 = 0; index2 < BOARD_SIZE; index2++){ 
             if(board[index1][index2].number!=0)
                totalCount++;
        }
    if(totalCount=81)
        return true;
    else 
        return false;

最佳答案

你有 = 而不是 ==

if (totalCount == 81)

是正确的行。

使用单个“=”执行此操作实际上会将值 81 分配给 totalCount,因此您的测试必不可少:

if (81)

因为在 C++ 中任何非零值都是真的,所以这总是真的

关于c++ - 数组循环不能正常工作? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2563701/

相关文章:

javascript - 如何停止setInterval?清除间隔不起作用

php - 将十六进制值的字符串转换为 PHP 中 boolean 值的数组

c++ - qt5 undefined reference 'QApplication::QApplication(int&, char**, int)'

c++ - 最小二乘多项式拟合仅适用于偶数个坐标

javascript - 如何检查数组元素是否只包含换行符?

java - System.arraycopy() 具有原始和对象引用的浅拷贝或深拷贝

java - MySQL 使用 Hibernate 将 null boolean 值映射到 Java

c++ - 复制构造函数、深拷贝以及如何正确编写

c++ - 在没有分支的情况下测试固定集是否相等

c++使用数组而不调用构造函数