char word[10];
int n=5;
while(n--)
{
cin>>word;
cout<<n<<" "<<word<<" ";
}
输出:
ABC DEF GHI JKL MNO
4 ABC 3 DEF 2 GHI 1 JKL 0 MNO
现在,我的问题是当输入缓冲区遇到空白('')时会发生什么?可以看出,n在每个空白区域之后递减,但是cout&lt;&lt;单词在屏幕上不显示任何内容。
我很困惑,因为我认为只要输入一个单词就应该显示输出。例如
ABC 4 ABC DEF 3 DEF GHI 2 GHI JKL 1 JKL MNO 0 MNO
答案 0 :(得分:1)
不确定我理解你的问题,但如果我正确地读你:流提取操作符会一直读到它会遇到空白,然后消耗空白。你没有得到一个只包含空格字符的新单词。
几分钟后:我又回去重读了,现在我想我明白你在问什么:两个流不同步,所以输入和输出不能像你一样交错建议。
答案 1 :(得分:0)
cin读取由空格分隔的字符串,但在过程中丢弃空格
答案 2 :(得分:0)
尝试
cout << flush;
或者
cout << endl;
(在里面)