C++ C++;-For循环而不是循环

C++ C++;-For循环而不是循环,c++,visual-c++,C++,Visual C++,我在做一个刽子手计划。到目前为止,我已经从10个单词中随机选择了一个单词,这给了我们“猜测单词”。我已经验证了在选择单词后,我从“guessWord.size()”中获得了一个准确的数字。在这个代码段中,当通过调试器时,程序将进入for循环,测试if函数,然后完全退出for循环 发生了什么事 for (int i = 0; i < guessWord.size(); ++i) { if (guessWord.at(i) == gues

我在做一个刽子手计划。到目前为止,我已经从10个单词中随机选择了一个单词,这给了我们“猜测单词”。我已经验证了在选择单词后,我从“guessWord.size()”中获得了一个准确的数字。在这个代码段中,当通过调试器时,程序将进入for循环,测试if函数,然后完全退出for循环

发生了什么事

for (int i = 0; i < guessWord.size(); ++i)
            {
                if (guessWord.at(i) == guess)
                {
                    soFar.at(i) == guess;
                }
            }
for(int i=0;i
看起来像这行
soFar.at(i)=猜测
不应该有双等号,应该是

soFar.at(i)=猜测

在执行调试器时,--如果不执行调试器而只是运行程序,程序是否实际正常工作?
到目前为止,at(i)==guess似乎是个打字错误。我猜你需要使用
soFar.push_back(猜)@PaulMcKenzie它没有。我包含了这一点,以提供我实际上正在尝试lol。soFar字符串以一组星号开始,与猜词的长度匹配。如果用户猜到一个正确的字母,这个for循环应该在单词中该字母出现的适当位置替换星号。它根本没有替换任何星号,因为在测试if语句之后,if块被跳过。@如果soFar不是向量,这会适用吗?到目前为止,猜单词和猜都是字符串scenario@Andrew除了在()抛出异常之外,循环中没有任何东西会导致它过早退出。你是个天才。我为这门课写的每一个程序,我都会被一个字符绊倒至少一次。非常感谢。改变那条线是如何使循环继续的?是的,这是一个错误,但将
=
更改为
=
不会使循环继续迭代。@PaulMcKenzie计算机有时会做一些古怪的事情。删除额外的等号修复了这个问题。现在它就像一个符咒。也许错误的逻辑只是混淆了Visual Studio…也许错误的逻辑只是混淆了Visual Studio--不,没有魔法。您可能认为循环在没有终止时终止了。如果事情只是随机发生,没有人能够编写计算机程序。您应该后退一步,看看为什么这样一个无害的代码更改会使循环迭代。