我编了个C语言小程序,定义全是整形变量但在运行时,一输入英文再按回车就出现死循环?请问怎样可以解决这问

例如:main(){intnum1;printf("1.wo\n");printf("2.ni\n");printf("3.ta\n");scanf("%d",&num1... 例如:main()
{
int num1;
printf("1.wo\n");
printf("2.ni\n");
printf("3.ta\n");
scanf("%d",&num1);
while(num1>3||num1<0)
{
printf("There have a mistake\n");
scanf("%d",&num1);
}
if (num1==1)
num1=3;
else if(num1==2)
num1=4;
else num1=5;
printf("This is%d",num1);
}
运行时,一输入字母再按回车就不断出现There have a mistake 我是用Turbo C编的,老师不给用C++啊
展开
 我来答
L_o_o_n_i_e
2007-06-28 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5257万
展开全部
加入 fflush(stdin);
和 头文件 <stdio.h> <stdlib.h>
===================================

#include <stdio.h>
#include <stdlib.h>

void main()
{
....
while(num1>3||num1<0)
{
printf("There have a mistake\n");
fflush(stdin); // 加它就解决问题了
scanf("%d",&num1);
..
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
班丘靖滢el
2007-06-28
知道答主
回答量:55
采纳率:0%
帮助的人:0
展开全部
int num1;
cout<<"请输ru"<<endl;
cin>>num1;
while(!cin)
{
cout<<"请输入整数:";
cin.clear();
cin.ignore(80,'\n');
cin>>num1;
}

用c++ 多简单明了啊 呵呵
用这段 换你那个while 试试
当然你用的 是vcc。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
threedayyee
2007-06-28 · 超过13用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:44.4万
展开全部
.....想看看你编的是个什么样的小程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sflypig
2007-06-28 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:413
采纳率:0%
帮助的人:0
展开全部
定义char型的变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式