C++程序中,想写一个while循环来输入int数组,通过输入q来结束循环,结束时怎么清除输入流中的q?

想法是通过输入一个字符q来结束while循环,然后在主函数调用这个函数结束时,清除输入流中错误的输入q,这样在主函数中调用的下一个函数就可以再输入另外需要输入的字符、... 想法是通过输入一个字符q来结束while循环,然后在主函数调用这个函数结束时,清除输入流中错误的输入q,这样在主函数中调用的下一个函数就可以再输入另外需要输入的字符、 展开
 我来答 举报
庄政警
2017-12-02 · TA获得超过9916个赞
知道大有可为答主
回答量:1113
采纳率:94%
帮助的人:886万
展开全部

举个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int main()
{
    int n;
    while (1)
    {
        cin>>n; //输入字符会引发cin异常
        if (cin.fail())
        {
            cout<<"ERROR,Plase input again:";
            cin.clear();  //先清除异常状态
            cin.ignore(999, '\n'); //再清理缓冲区,清理999个字符或者碰到'\n',给个足够大的数字就好          
            continue;
        }
        break;
    }
    cout<<"OK!!"<<endl;
    return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式