输入:han fei jiang
以下为代码部分:
char a[80][80];
int main() {
int i = 0;
while(cin.get()!= '\n')
{
cin >> a[i];
i++;
}
while (i!=0)
{
cout<< a[--i];
if(i!=0)cout<<" ";
}
//这个情况输出:jiang fei an,最后一个单词少了字母h
-------------------------------
char a[80][80];
int main() {
int i = 0;
do
{
cin >> a[i];
i++;
}while(cin.get()!= '\n');
while (i!=0)
{
cout<< a[--i];
if(i!=0)cout<<" ";
}
//这个情况正常输出:jiang fei han
```
为什么用while就有问题啊? 不理解cin.get的识别原理.搜了几个小时也没理解为什么输出错误..求详细的讲解
因为cin.get()读取一个字符,cin输入流中就少了一个字符
输入:han fei jiang
一开始while(cin.get()!= '\n')中 cin.get()读取输入流中第一个字符“h”
之后输入流中剩下:“an fei jiang”
cin >> a[i]; 读取的就是an了
do while 和while不一样