C++ bool 数组返回 1 或 0 以外的值

C++ bool array returns values other than 1 or 0

本文关键字:bool 数组 返回 C++      更新时间:2023-10-16

我的布尔数组有一个非常奇怪的问题。我有 3D 布尔数组:

bool tab[wordLength][wordLength][nl];

用 0 填充它,这些是我稍后对该数组执行的唯一操作(在几个 for 循环中(:

(...)
tab[1][s][v] = true;

(...)
if(tab[p-1][s-1][b] == true && tab[l-p-1][s+p-1][c] == true){
    tab[l-1][s-1][a] = true;
}

问题是,当我想在某些单元格中写入该数组的内容时,我得到 1 或 0(应该是(,但在某些单元格中我得到的是整数,例如 182 - 当它是布尔数组并且我只能让它为真或假时,这怎么可能?

试试这个,或者你可以按照Sailfish009的建议使用memset,

bool tab[wordLength][

wordLength][nl] = {{{0}}};

尝试初始化3D布尔数组。

memset(tab, 0, sizeof(bool)*wordLength*wordLength*nl);