2011-05-05 77 views
0
char word[10]; 
int n=5; 
while(n--) 
{ 
    cin>>word; 
    cout<<n<<" "<<word<<" "; 
} 

輸出:問題上>>,<<運營商與CIN和COUT的組合對象

ABC DEF GHI JKL MNO 
4 ABC 3 DEF 2 GHI 1 JKL 0 MNO 

現在,我的問題是,當輸入緩衝器遇到blankspace(」「)會發生什麼?可以看出,n在每個空格後遞減,但是字不會在屏幕上顯示任何內容。

我很困惑,因爲我認爲一輸入一個單詞就應該顯示輸出。例如。

ABC 4 ABC DEF 3 DEF GHI 2 GHI JKL 1 JKL MNO 0 MNO 
+0

,直到你按下Enter鍵,如果這是你的意思它不讀它們。 – Ryan 2011-05-05 23:38:21

回答

1

不知道我理解你的問題,但如果我在讀你的權利:數據流提取運算符讀取,直到它遇到的空白,然後消耗空白。你不會得到一個只包含空白字符的新單詞。


幾分鐘後:我回去,再重新讀了,現在我想我明白你問:兩個流不同步,所以輸入和輸出不能交錯按照你的建議。

0

CIN閱讀空間,但空間分隔的字符串被丟棄的過程中

0

嘗試做

cout << flush; 

或者

cout << endl; 

(的同時內部)