在我的大学编程课上,我用C编码这个数字时钟。我无法弄清楚为什么没有出现正确的时间。分钟和秒都停留在数字60上。
这是代码。
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int h=0,m=0,s=0;
printf("enter time in format of hh mm ss");
scanf("%d%d%d", &h,&m,&s);
start:;
for (h;h<12;h++) {
for (m;m<60;m++) {
for (s;s<60;s++) {
printf("%d:%d:%d",h,m,s);
for (double i=0;i<99999999; i++) {
i++;
i--;
}
}
s=0;
}
m=0;
}
goto start;
}
答案 0 :(得分:2)
嗯,有一些问题:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main ()
{
int h=0,m=0,s=0;
printf("enter time in format of hh mm ss");
scanf("%d %d %d", &h,&m,&s);
start:
for (;h<12;h++) {
for (;m<60;m++) {
for (;s<60;s++) {
printf("%d:%d:%d\n",h,m,s);
/*
for (double i=0;i<99999999; i++) {
i++;
i--;
*/
sleep(1);
}
s=0;
}
m=0;
}
goto start;
}
goto
- 这个构造应该只使用几个地方......这不是其中之一for
循环毫无意义 - 因为它会增加和减少相同的值 - 它将被卡在一个infinte循环中scanf
声明%d%d%d
无法使用,请使用我的代码示例或尝试%2d%2d%2d
重要说明:这个例子编码不好,但我希望它可以给你一个起点..就是这样,简单地说就是......坏了