程序无法识别字符

Program can't recognize a character

本文关键字:字符 识别 程序      更新时间:2023-10-16

我在压缩两个字符时遇到了点小问题。

for(int i=0; i<initializer.size(); i++)
{
    char letter;
    letter = initializer[stringIter];
    if(letter == '+')
    {
        std::cout << "+";
    }
    else if(letter == '-')
    {
        std::cout << "-";
    }
    else if(letter == 'F')
    {
        std::cout << "F";
    }
    else
    {
        std::cout << letter << " UNKNOWN";}
    }
    initializer = F + F - F - F + F
}

当我试图打印字符时,我有一个小问号而不是真正的字符,几乎每个字符都是未知的

这样可以:

#include <iostream>
#include <string>
int main()
{
    std::string initializer = "F+F-F-F+F";
    for(int i=0; i<initializer.size(); i++)
    {
        char letter;
        letter = initializer[i];
        if(letter == '+')
        {
            std::cout << "+";
        }
        else if(letter == '-')
        {
            std::cout << "-";
        }
        else if(letter == 'F')
        {
            std::cout << "F";
        }
        else
        {
            std::cout << letter << " UNKNOWN";
        }
    }
}

调试显示他发现了一个342 210 222字符作为字母。但是为什么?…

那么问题是什么?