关于连续用cin时无法进行输入的问题

出现的原因:

cin >> number;通常情况会进行输入读取一个数值,前提是cin正常。如果cin被核定为false,则cin就不会被执行啦。

上述例子中,因为我们在输入一串数字时,输入了结束符进行退出,所以cin已经被核定为false了,所以下边的cin>>number无法正常执行输入操作。

解决方法:

我们要对cin进行恢复,使其恢复正常状态。使用cin.clear()和cin.sync()可以恢复正确状态

补充:

cin被核定为false的情况:(1)遇到结束符:(2)无效输人

通过对上述cin进行恢复如下,一切运行正常:

// 恢复cin正常状态,两个一起使用
    cin.sync();   //清除缓冲区
    cin.clear();  //清除错误状态

在今天的链表输入测试中就遇到了这种无法输入的情况,
记得出现的原因是上一次输入的回车将cin核定为false,
需要对其状态进行重置。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值