☆─────────────────────────────────────☆
yuyy (yyy) 于 (Fri Feb 1 12:28:30 2008) 提到:
int main()
{
string word;
while ( cin >> word){
cout << "word read is: " << word << '\n';
}
cout << "ok: no more words to read: bye!\n";
return 0;
}
我的本意输入一行句子,然后分word输出,回车意味着输入结束,然后输出结束语。
可是编译后执行,发现回车后while 循环并没有结束,我也无法退出程序了。
只好强制退出,这是怎么回事?
有什么好的办法fix it?
Thank you very much.
☆─────────────────────────────────────☆
littlebro (littlebro) 于 (Fri Feb 1 12:36:36 2008) 提到:
put your h
h***s 发帖数: 226
2
呵呵,因为你的while{}就进入到这个等待键入+显示的循环中,没有结束。
所以最简单的方式就是在循环中人为加入一个结束语句即可。
比如将你的程序后端语句copy到循环体中就可以了
int main()
{
string word;
while ( cin >> word){
cout << "word read is: " << word << '\n';
return 0;
}
cout << "ok: no more words to read: bye!\n";
return 0;
}
当然用getline类似的语句也可以,本身就是一个等待字符串输入以回车键结束的循环。