C中的简单for循环倒数计时器
Simple for-loop countdown timer in C
代码应该这样做:
“Lift off in T minus
5
4
3
2
1
Blast-off!”
当我 运行 它时,它会一直打印“'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;
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
为什么不 运行 向后循环?
for (i = 5; i > 0; --i) {
printf("i = %d\n",i);
}
这更简单,因此减少了错误潜入的可能性。此外,如果格式不正确,您的最终 printf
:您缺少 sum
.
的格式说明符
您的特定问题:将[=13=]替换为i=i+1
或类似的东西。 (我更喜欢++i
)。
代码应该这样做:
“Lift off in T minus
5
4
3
2
1
Blast-off!”
当我 运行 它时,它会一直打印“'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;
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
为什么不 运行 向后循环?
for (i = 5; i > 0; --i) {
printf("i = %d\n",i);
}
这更简单,因此减少了错误潜入的可能性。此外,如果格式不正确,您的最终 printf
:您缺少 sum
.
您的特定问题:将[=13=]替换为i=i+1
或类似的东西。 (我更喜欢++i
)。