将字符串变量分配给空格字符“”以查找重复的单词

Posted

技术标签:

【中文标题】将字符串变量分配给空格字符“”以查找重复的单词【英文标题】: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 具有不同的值?

【问题讨论】:

【参考方案1】:

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

【讨论】:

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

以上是关于将字符串变量分配给空格字符“”以查找重复的单词的主要内容,如果未能解决你的问题,请参考以下文章

将'\'分配给char [重复]

查找字符串中重复单词的索引[重复]

将 bash 变量分配为两个单词字符串的列表

php preg_split 查找字符串中的所有单词不起作用

查找一个单词在字符串中出现的次数的几种方法

数据结构与算法 - 字符串