循环程序:执行顺序

时间:2014-04-15 08:50:39

标签: c for-loop

以下代码很简单,我想知道的是 ++ 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    

4 个答案:

答案 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