简单的for循环倒数计时器在C中

时间:2016-02-15 10:41:54

标签: c for-loop cygwin countdown countdowntimer

这就是代码应该做的事情:

  

“在T减去的情况下起吊5 5 4 4 3 2 2 1 1 1”

当我运行它时,它只是继续打印' Sum = 5''永远。

代码:

int main(void) {

int sum = 5;  
int i;     

printf("Lift off in T minus\n");

for (i = 0; i < 5; i=i+i) {
    sum = sum - i;  
    printf("sum = %d\n",sum);  
} 

printf("Blast-off",sum);  

return 0;

2 个答案:

答案 0 :(得分:4)

for (i = 0; i < 5; i=i+i) { // use i = i+1
    sum = sum - i;       //sum-- or sum = sum -1
    printf("sum = %d\n",sum);  
} 

最初i = 0,所以

i=i+i; //will be zero always, no increment.

sum = sum -1;

,否则

i = 0  =>sum = sum - i;    // = 5 as i=0
i = 1  =>sum = sum - i;    // = 4 as i=1
i = 2  =>sum = sum - i;    // = 2 as i=2
i = 3  =>sum = sum - i;    // = -1 as i=3

答案 1 :(得分:2)

为什么不向后运行循环?

for (i = 5; i > 0; --i) {
    printf("i = %d\n",i);  
}

这更简单,因此可以减少蠕虫进入的可能性。此外,您的最终printf如果格式不正确:您错过了sum的格式说明符。

您的特定问题:将i=i+i替换为i=i+1或类似内容。 (我更喜欢++i)。