#include <iostream>
using namespace std;
int main()
{
string previous;
string current;
while (cin >> current)
{
if(current == previous)
{
cout << "repeated word";
}
previous=current;
}
return 0;
}
我的问题是:
当它声明时
while(cin>>current)
,为什么整个输入的文本字符串没有分配给当前?我不明白它如何单独比较所有单词。它是如何得到一个词的。它怎么知道两个相同的词是相邻的?
编辑:我想我只是明白为什么。告诉我我是否错了,但我认为这是因为编译器cin
在空格处停止分配并且第一个单词被分配给当前单词,然后它将它与前一个单词进行比较,但由于它是第一个单词,它没有前一个词,所以它只是将第一个词分配给前一个词,并比较句子中的下一个词,直到没有更多的词。我相当肯定这就是它的工作原理,但如果有人想知道类似的事情,我会留下来。