在C语言中,有些时候需要输入一个数据的同时判断其合法性,当输入合法时完成输入,输入不合法时要求重新输入,直到合法(或一定次数后)为之。
这里就可以用到While循环。下面以一段代码为例。
#include<string.h>
#include<stdio.h>
int k=18;
int change_age(int n);
int main()
{
int i;
int cage;
while(i)
{
printf("please enter new_age:\n");
scanf("%d",&cage);
i=change_age(cage);
if (i==1) {
printf("your date is worry!\n");
continue;
}
else continue;
}
printf("%d\n",k);
}
int change_age(int n)
{
int p;
p=n;
if (p>18&&p<65) {
k=p;
return 0;
}
else return 1;
}
进入循环后,通过函数输入,当输入合法时,返回1,否则为0.然后continue进入下一个循环判定,不合法的就会进入下次循环(即重新输入),合法的则因为不满足循环条件而跳出循环完成输入。