C++新手求教,输入字母陷入死循环该怎么办?

想写循环输入三个数比较大小,直到输入字母退出,但是一输入字母就会进入死循环是为什么?#include<iostream>usingnamespacestd;intmain... 想写循环输入三个数比较大小,直到输入字母退出,但是一输入字母就会进入死循环是为什么?
#include <iostream>

using namespace std;
int main()
{
int a, b, c,max;
do{
cin >> a;
cin >> b;
cin >> c;

max = a > b ? a : b;
if (c > max)
cout << c << "是最大值" << endl;
else
cout << max << "是最大值" << endl;
} while (a!='q');
return 0;
}
展开
 我来答
White_MouseYBZ
2019-11-20 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6654万
展开全部
  1. 把while (a!='q');改成while (1);。

  2. 把cin >> a;cin >> b;cin >> c;三行改成if(!(cin >> a >> b >> c))  break;。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
love2012的家

2019-11-20 · TA获得超过618个赞
知道大有可为答主
回答量:6596
采纳率:100%
帮助的人:194万
展开全部
您好,你定义的int a,a是整形,你输入字母,类型不同a不能存放字母
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式