这是我的代码,不知道为什么输入错误时会出现无限循环,能否更改一下完成:
(1)用以下结构体表示24小时制的时间
struct Time
{
int hours;
int minutes;
int seconds;
};
(2)从键盘输入时间(时、分、秒)到结构体变量中,如输入的时间不符合要求,在不退出程序的情况下可以重新输入时间。
#include
#include
int main()
{
struct Time
{
int hours;
int minutes;
int seconds;
};
int i;
struct Time T[i];
ap:printf("请输入时,分,秒:");
scanf("%d,%d,%d");
while(T[i].hours>24||T[i].hours<0||T[i].minutes>60||T[i].minutes<0||T[i].seconds>60||T[i].seconds<0)
{printf("请输入时,分,秒:");
goto ap;
while(getchar()!='\n');
}
printf("请输入时,分,秒:");
}
for(;;)
{
if(时间错误)
continue; //继续下一轮循环
else
{正常时间语句,加上break;}
}
while(1)
{
//提示和输入
if(时间错误条件)
continue; //继续下一轮循环
//正常处理,break跳出循环
}