2011-05-05 79 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; 

(的同时内部)