以下代码很简单,我想知道的是 ++ counter 的执行时间。我知道 for 循环, count< 5 是第一个要检查的条件,但是 ++ counter I'的执行时间我不太确定。第1,2或3行,这是执行增量的地方?
#include <stdio.h>
int main()
{
int counter;
/* counter for loop */
for (counter = 0; counter < 5; ++counter) { // 1
printf("x %d\n", counter+1); // 2
} //3
return (0);
}
结果是
x 1
x 2
x 3
x 4
x 5
答案 0 :(得分:2)
我没有收到X 0
Ideone Output
++counter
并且++计数器的位置对于你的X值的变化无关紧要因为完成for循环的工具是在执行一个循环之后(假设表达式为真)
在for循环Loops
上查看此链接的教程答案 1 :(得分:0)
++计数器在printf之后执行(&#34; x%d \ n&#34;,计数器+ 1);在每次迭代中。
答案 2 :(得分:0)
要将其缩小,可以将for循环转换为while循环,如下所示:
for (initialization,condition,iteration)
{
//code
}
initialization
while(condition)
{
//code
iteration
}
所以在循环运行之后执行i ++或++ i,然后检查条件以便再次运行循环。
答案 3 :(得分:0)
您可以解释以下for循环
for (variable initialization; ending condition; variable update) {
// code
}
作为缩短的while循环
variable initialization
while(ending condition) {
// code
variable update
}
因此,您的counter++
或++counter
将在循环语句之后执行。
公平地说,无论是使用哪个增量,无论是后期还是前缀都无关紧要。但性能明智,前缀比某些情况中的后缀快一点。如果您对原因感兴趣,可以参考this explanation。