试图将字符串元素与循环和索引进行比较,但索引不会增加

Trying to compare elements of string with loops and indices, but indices do not increment

本文关键字:索引 比较 增加 字符串 元素 循环      更新时间:2023-10-16

我试图为欧拉项目制作一个su doku求解器。我在比较字符串元素时遇到了麻烦。我使用索引k的第二个循环仅发生一次,而不是九次。如果我用我的if语句删除代码,则可以循环循环。有人知道为什么吗?关于尝试访问我的字符串的事情使它停止...

puzzle是向量,reference_string是字符串="123456789"

for (int i = 0; i != 9; i++){
    cout << "loop 1" << endl;
    for (int k = 0; k != 9; k++) {
        if (reference_string[i] == puzzle[row_index][k] || 
            reference_string[k] == puzzle[col_index][k] || 
             reference_string[i] == puzzle[box_index][k] ){
            possible_answers.push_back(0);
        }
        else if ( k = 8 ){
            possible_answers.push_back(1);
        }
    }
}

您需要将k = 8更改为k == 8或更安全的8 == k。您没有执行比较,而是执行一个改变循环计数器的作业,以便仅在一次迭代后满足循环条件。