【问题标题】:Assigning a string variable to the space character " " in order to find repeated words将字符串变量分配给空格字符“”以查找重复的单词
【发布时间】:2020-11-25 22:12:14
【问题描述】:
int main()
{
    std::string previous = " ";
    std::string current;

    while (std::cin >> current)
    {
        if (previous == current)
            std::cout << "\n repeated word: " << current;
        previous = current;
    }
};

该程序有效,但我不知道为什么。电脑到底在做什么?据我了解,计算机首先读取用户输入,然后检查单词是否与初始化为空格字符的“previous”匹配。计算机是否正在检查两个字符串变量是否都是空格字符?什么时候 previous 具有不同的值?

【问题讨论】:

    标签: c++ string


    【解决方案1】:

    在循环的每一步中,currentprevious 进行检查,然后将previous 分配给current 的值(在循环的最后一条语句中)。然后将另一个单词读入current,以此类推。

    【讨论】:

    • 我能理解,谢谢!我假设由于 if 语句,previous 将被分配 current only if 的值他们都是平等的。我认为如果它们被限制在 {} 下就会出现这种情况。我看到了我的错误,再次感谢!顺便说一句:你是如何用灰色突出显示你的文字的?我还在习惯这个网站。
    • @itchimatcha WRT 格式,您可以通过用反引号 (`) 将文本格式化为内联代码(灰色背景)。有关其他详细信息/文档,请参阅 stackoverflow.com/editing-help
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多