当前位置:首页 » 编程语言 » c语言输错了怎么办
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言输错了怎么办

发布时间: 2023-07-29 18:56:33

A. c语言二维数组输入错误后怎么报错重新输入

数据输入错误,有两种情况:
1 输入的数据格式不正确,比如要求输入整型,但是输入了字符型。
这种情况,可以通过scanf的返回值进行判断,scanf的返回值是正确输入的变量个数。当返回值和要输入的变量个数不同时,则表示出错,要求重新输入。
2 输入的数据不在合法范围内。
比如要求输入正数,但输入了负数。这时需要判断输入的值是否合法。

以输入两个整数,要求范围在0~100之间的代码可以写作
int a,b,r;
while(1)//死循环,不得到正确输入不退出。
{
r = scanf("%d%d",&a,&b);
if(r == 2 && (a>=0 && a <= 100) && (b>=0 && b<=100)) break;//输入正确,退出循环。
printf("输入不正确,请重新输入\n");
fflush(stdin);//清空输入,这一步是必须的,不然出错的输入可能影响下次输入。
}

B. C语言怎么纠正错误输入

我只能想到两种解决办法:

  1. 改变接收类型,从int改为char,再在scanf后面加一句fflush(stdin); 清除输入的多余字符

  2. 改变接收类型,从int改为char[],利用atoi函数将字符串转为数字。(缺点:转化失败是返回0)

C. C语言怎么实现输错了 重新输入

可以设置一个while循环在其体内输入数据,经判断输入正确则跳出循环,否则提示重新输入,直到输入正确。举例代码如下:

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
intm[12]={31,28,31,30,31,30,31,31,30,31,30,31},year,month;
while(1){//这个循环就是解决输入错误的
printf("Pleaseentertheyear&month... ");
fflush(stdin);
if(scanf("%d%d",&year,&month)&&year>0&&month>0&&month<13)
break;
printf("Error,redo:");
}
m[1]+=year%4==0&&year%100!=0||year%400==0;
printf("%d/%dis%ddays. ",month,year,m[month-1]);
return0;
}

D. c语言中数据输入错误了如何提示输入错误并实现要求重新输入

cin>>sth;
while(!check(sth))
{
//check
函数检查输入值,如果满足就不需要在输入,这是就返回1或者true
cout<<"enter
again,
because
it
is
invalidate"
cin>>sth;
}