Break语句不是';t在C编程语言中正常工作
我正在试着做一个简单的秒表,但是break语句不能正常工作。当我第一次做的时候,效果很好,但是当我再次尝试做的时候,break语句就不起作用了。它永远在运行Break语句不是';t在C编程语言中正常工作,c,break,C,Break,我正在试着做一个简单的秒表,但是break语句不能正常工作。当我第一次做的时候,效果很好,但是当我再次尝试做的时候,break语句就不起作用了。它永远在运行 #include<stdio.h> #include<stdio.h> #include <unistd.h> #define clrscr() printf("\e[1;1H\e[2J") #define CYCLE 60 int main() { int hour, minute,
#include<stdio.h>
#include<stdio.h>
#include <unistd.h>
#define clrscr() printf("\e[1;1H\e[2J")
#define CYCLE 60
int main()
{
int hour, minute, second;
printf("Enter the value of hour, minute and second: ");
scanf("%d%d%d", &hour, &minute, &second);
int h, m, s;
h = 0;
m = 0;
s = 0;
while(1){
printf("\t\t\t###### Stop Watch ######\n\n\n");
printf("\t\t\t %.2d:%.2d:%.2d\n", h, m, s);
printf("\t\t\t###### Stop Watch ######\n\n\n");
if (h == hour && m == minute && s == second){
break;
}else{
clrscr();
}
s++;
sleep(1);
if (s == CYCLE){
m++;
s = 0;
}
if (m == CYCLE){
h++;
m = 0;
}
}
return 0;
}
#包括
#包括
#包括
#定义clrsc()printf(“\e[1;1H\e[2J”)
#定义第60周期
int main()
{
整小时,分,秒;
printf(“输入小时、分钟和秒的值:”);
scanf(“%d%d%d”、&小时、分钟和秒);
int h,m,s;
h=0;
m=0;
s=0;
而(1){
printf(“\t\t\t\t\n\n\n\n”;
printf(“\t\t\t%.2d:%.2d:%.2d:%.2d\n”,h,m,s);
printf(“\t\t\t\t\n\n\n\n”;
如果(h==小时和m==分钟和s==秒){
打破
}否则{
clrsc();
}
s++;
睡眠(1);
如果(s==周期){
m++;
s=0;
}
如果(m==周期){
h++;
m=0;
}
}
返回0;
}
没有任何时间相关功能的“秒表”?
好吧,条条大路通罗马
改变你的状况
(h == hour && m == minute && s == second)
到
其中,current_time
是一个计数器,持续增加1,stop_time
用户指定的时间(以秒为单位)
但是,最好使用以下函数:
- 时间
- 阿斯克泰姆
- 时间
- 本地时间
- mktime
- 睡眠
hour
、minute
和second
用于调试原因,或使用调试器逐步完成示例。欢迎使用。您忘了向我们显示您提供的输入和输出。还有什么“工作不正常”意思是说?它会永远运行吗?它会不会太晚才中断?请编辑您的问题以添加缺少的细节。通常,您应该始终检查scanf
@BasileStarynkevitch的返回值:我认为建议初学者阅读ISO C标准来学习C是没有帮助的。
(current_time >= stop_time)