#include<iostream> 首先看到右边这些代码 我们输入3 然后按下回车 此时3被送入键盘缓冲区
using namespace std; 但是cin没办法读入回车键 所以此时缓冲区还有一个回车键未读取 接着
int main()
{ 回车键被gets 读取 然后puts 输出 所以出现两个换行符 接下来输入 ha ta
int it; 结果如下
cin>>it;
char a[10];
while(it--)
{
gets(a);
puts(a);
}
using namespace std; 但是cin没办法读入回车键 所以此时缓冲区还有一个回车键未读取 接着
int main()
{ 回车键被gets 读取 然后puts 输出 所以出现两个换行符 接下来输入 ha ta
int it; 结果如下
cin>>it;
char a[10];
while(it--)
{
gets(a);
puts(a);
}
};
若在while前面加入getchar();此时我可以有3个输入 且结果如右图
这是因为cin输入的回车被getchar()所读取 。
若在gets前面加上getchar();此时结果就不一样 如右图
这是因为循环进行了三次getchar();第一次读取了回车
后来两次读取了首字母。