gpt4 book ai didi

c - While循环只发生一次

转载 作者:行者123 更新时间:2023-11-30 19:54:32 26 4
gpt4 key购买 nike

我的 while 循环仅发生一次,而我需要多次检查以确保小时输入为 24 小时。我做错了什么?我可能知道一些事情,但我一直在尝试它,而且我仍然只得到一次 while 循环。

#include <stdio.h>
#include <time.h>

int main(int argc, char *argv[])
{
int h=0;
int m=0;
int d=0;
int ht=0;
int t=0;

printf("Starting Hour: ");

do
{
scanf("%d", &h);
}
while (h > 0 && h < 24);

printf ("Invalid input. Please use 24hr format\n");
printf ("Starting Hour: ");
scanf("%d",&h);

printf("Starting Minute: ");
scanf("%d",&m);
printf("Starting Time is %d:%d, what is the duration? ", h, m);
scanf("%d",&d);
t=(m+d);
ht=t/60;
h=(h+ht)%24;
m=t%60;

printf("Ending Time: %d:%d",h,m);
printf("\n");

getchar();
return 0;
}

最佳答案

如果您想在用户提供无效输入时继续要求输入,您需要检查:

while (h < 0 || h >= 24);

现在,您将获得 while仅执行一次,因为输入有效并且符合 h > 0 && h < 24 的模式.

关于c - While循环只发生一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35631594/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com