返回信息流大一萌新求问,下图的一个例子,输入一个1,为什么会直接跳过for循环呢,输入一个1,就只需要我进行一次循环。为什么会少一次呢,然后看到网上在cin >> n;后面加了一个cin.ignore();就能不会跳过了
int main()
{
int n;
cin >> n;
char a[100] = { 0 };
for (int i = 0; i <=n; i++)
{
cin.getline(a, 100, '\n');
int j = 0;
while (a[j] != '\0')
{
judge(a[j]);
j++;
}
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #96956同步于 2017/12/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
【问题】请问c++中在一个for循环中使用cin.getline,为什么会跳
crazya
2017/12/3镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
嗯嗯谢谢,大一的表示还没有学过缓冲流是什么
【 在 jiarong (嘉-北京征途) 的大作中提到: 】
: cin>>n之后,输入缓冲流中还有个\n啊,然后你在循环里面直接读了这个\n