中易网

为什么我输入 q就是无限循环 第一个printf ?我想做一个输入的限制 让输入只能是1到5的数字

答案:1  悬赏:30  
解决时间 2021-03-09 01:51
为什么我输入 q就是无限循环 第一个printf ?我想做一个输入的限制 让输入只能是1到5的数字#include<stdio.h>
int main(){
int sr;
int a;
first:do{
printf("输入一个数字");
sr=scanf("%d",&a);
} while(sr!=1);

while(!(1<=a&&a<=5)){
sr=scanf("%d",&a);
if(sr!=1){
printf("重新输入");
goto first ;
}
}
return 0;
}
最佳答案
你的scanf中回车键也被算入字符了所以循环两次,在下面加getch(),头文件是#include<conio.h>来抵消那个回车。
就像这样:
#include<stdio.h>
#include<conio.h>

int main()
{
int a=0;
for(int b;b<4;b++)
{

printf("\n!");
printf("\n*");
char c;
scanf("%c",&c);
getch();
if(c=='a')
{
printf("!");
a+=10;
}
else
{
printf("!");
printf("!");
a+=5;
}
}
printf("%d",a);
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
什么药膏可以祛痘。祛痘方法总结
双顺宾馆地址在什么地方,想过去办事
个人所得税,是凭协议收费吗
贵州天柱县历史上是不是有什么有个什么东平乡
宝贝可爱我想知道这个在什么地方
小虾为什么不立即进攻花金鱼?
手机贷逾期会影响个人银行征信吗?
110接警员业务知识
洛克王国暗夜魔王怎么配招好
玫瑰湾花园停车场(入口)地址有知道的么?有点
鑫鑫食品批发这个地址在什么地方,我要处理点
kate is (is) the market是什
费捂得深林有一个任务给一个上古长笛请问是干
信用卡欠款15000已经逾期三个月,多长时间会
漫威英雄,全部猜出来!我发50微信红包!
推荐资讯
英文中是说why you can't还是why can&ap
中绿公司的成功人士
06年以前参加职工医保2年,现在参加灵活就业
张霞中药根除戒酒真假
会计,怎么把外帐成本降低一点,每月利润都负
川航厦门机场停靠t3还是t4
英华编织制品厂在哪里啊,我有事要去这个地方
在鲁山考个驾照哪儿相对便宜点?得多少钱?
电脑开机后就一直卡在这个界面不动了,重启后
番禺哪有学街舞的地方?
最正宗糖醋小鲫鱼的做法 怎样做糖醋小鲫鱼
化学计量数在什么情况下与浓度之比和体积之比
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?