试图计算数组中有多少元素不等于 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/

10-11 17:11