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