我编了个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++啊 展开
{
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++啊 展开
展开全部
加入 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);
..
和 头文件 <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);
..
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int num1;
cout<<"请输ru"<<endl;
cin>>num1;
while(!cin)
{
cout<<"请输入整数:";
cin.clear();
cin.ignore(80,'\n');
cin>>num1;
}
用c++ 多简单明了啊 呵呵
用这段 换你那个while 试试
当然你用的 是vcc。
cout<<"请输ru"<<endl;
cin>>num1;
while(!cin)
{
cout<<"请输入整数:";
cin.clear();
cin.ignore(80,'\n');
cin>>num1;
}
用c++ 多简单明了啊 呵呵
用这段 换你那个while 试试
当然你用的 是vcc。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
.....想看看你编的是个什么样的小程序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义char型的变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询