【发布时间】:2017-11-17 11:03:40
【问题描述】:
为什么下面的代码循环了 5000 次而不是我预期的 5 次?
int height = 5;
for (int height; height > 0; height -= 1){
printf('Something') }
}
【问题讨论】:
-
完全删除循环内声明:
for (; height > 0; height--)将起作用。 -
@TomKarzes;在某些情况下,您可能需要在外部范围内保留
height的值。在这种情况下,您必须使用另一个变量进行循环。 -
回答:你不知道。了解
for的基本语法和子句会清楚这一点。此外,写成--height而不是height -= 1更符合习惯和可读性。 [插入强制性的 OT 咆哮,除非你需要,否则不要使用后增量/减量] -
像这样的一些问题在一分钟内有 10 个反对票。其他人有(目前)三个赞成票的答案......