我遇到while循環的問題。 while循環後面的語句沒有執行,我不知道爲什麼。我是C++新手,無法弄清楚這一點。我試圖把一些單詞作爲用戶的輸入,並將它們存儲在一個字符串向量中,只是爲了練習。這裏是我的代碼:While循環未執行後的聲明
#include "stdafx.h"
#include <string>
#include <iostream>
#include <vector>
using std::vector;
using std::string;
using std::cin;
using std::cout;
using std::endl;
int _tmain(int argc, _TCHAR* argv[])
{
vector<string> list;
string word;
while(cin >> word)
{
list.push_back(word);
cout << "Added " << word << endl;
}
cout << endl;
cout << "Done" << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
當我運行此控制檯應用程序,我可以看到,while循環執行中的語句和信息「新增」,而是「做」的消息不顯示。我已經通過在while循環之後指定其他語句(例如,從同一個字符串向量中獲取&顯示值的for循環)來嘗試此操作,但是在此while循環執行後沒有語句。只有while循環之前和之內的語句被執行,我不知道爲什麼。
你如何終止輸入流?除非你這樣做,否則你永遠不會退出循環。嘗試將文件重定向爲標準輸入,例如'a.exe
molbdnilo
我認爲它是一個無限循環,每次你給它輸入它都會起作用。你必須在某個地方打破循環。 – Himanshu
好吧,我猜這應該是在用戶停止輸入單詞後立即終止。不是這樣嗎? D: –