永发信息网

c语言整型输入问题:若输入整数则正常运行,但若尝试小数或字符(如7.7或A)则陷入死循环,如何保证程序健壮性

答案:4  悬赏:40  手机版
解决时间 2021-11-08 23:45
  • 提问者网友:雪舞兮
  • 2021-11-08 03:17
c语言整型输入问题:若输入整数则正常运行,但若尝试小数或字符(如7.7或A)则陷入死循环,如何保证程序健壮性
最佳答案
  • 五星知识达人网友:渡鹤影
  • 2021-11-08 03:33
在printf("输入值超范围\n\n");后面加上这样两句:
fflush(stdin);
a = -1;
全部回答
  • 1楼网友:怀裏藏嬌
  • 2021-11-08 05:00
因为定义的就是一个整形,
而且你的scanf("%d",&a)也是用的是%d,
所以输入整形以外的就会出错。
  • 2楼网友:平生事
  • 2021-11-08 04:41
scanf("%d",&a);
这句后面改为
if(scanf("%d",&a) > 0)
{
if(a>=1&&a<=9)
printf("输出a=%d\n\n",a);
else
printf("输入值超范围\n\n");
}
试试
  • 3楼网友:野慌
  • 2021-11-08 04:14
#include
void main()
{
int a;
printf("输入a=");
while(scanf("%d", &a) == 1)
{
if(a>=1&&a<=9)
printf("输出a=%d\n\n",a);
else
printf("输入值超范围\n\n");

printf("输入a=");
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯