初学C++,请教一个关于while循环的问题

使用的编译环境是visual studio 2015 community,这是第五版c++ primer上面的一道题目,要求从标准输入中读取若干string对象并查找连续重复出现的单词。以下程序可以成功编译但是运行时按回车无结果输出:
图片说明

请帮忙看看程序有什么问题,谢谢!以下为程序:
#include
#include
#include

using namespace std;

int main()
{
string currString, preString = "", maxString;
int currcnt = 1, maxcnt = 0;
cout << "请输入一段字符,用空格隔开:" << endl;
while (cin >> currString)
{
if (currString == preString)
{
++currcnt;
if (currcnt > maxcnt)
{
maxcnt = currcnt;
maxString = currString;
}
}
else
{
currcnt = 1;
}
preString = currString;
}
if (maxcnt > 1)
cout << "出现最多的字符串是:" << maxString << ",次数是" << maxcnt << endl;
else
cout << "每个字符串都出现了一次" << endl;
system("pause");
return 0;
}
最近写的一些带有while循环的程序都没有输出,是不是有些我没有注意到的地方导致了死循环?还请不吝赐教!

2个回答

 while (cin >> currString)
问题在这里,参考
http://blog.csdn.net/zhoujunbuaa/article/details/5975237
Patrick_Adair
Patrick_Adair 回复风之殇love: 能否麻烦帮忙写一下带空格判断的while语句,我刚刚学,不太会,谢谢
3 年多之前 回复
feng1790291543
鱼弦 回复Patrick_Adair: while加个空格判断就行了,或者其他的,全由自己制定规则
3 年多之前 回复
Patrick_Adair
Patrick_Adair 请问原程序中的cin>>currString为什么不能实现跳出while循环的功能?不应该是遇到空字符了跳出循环吗?
3 年多之前 回复

while循环在输入回车时没有退出循环。

qq_21122519
DasYang 回复qq_21122519: 也就是程序依然处于循环中,还在等待输入
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!