我的'for'循环在做什么?

时间:2014-07-16 13:42:14

标签: loops for-loop

这里的初学者程序员。我正在键入不同的条件,并尝试推断'for'循环如何手动工作,但我不太明白。我已经发现'n< = 20'将决定循环运行的次数,但我不确定其他的东西。将非常感谢进一步的解释:

int main (int argc, const char * argv[]) {
@autoreleasepool {

    int n;
    int x;
    NSLog(@"Enter your number");
    scanf("%i", &n);

    for ( x = x, n = x + 1; n <= 20 ; ++n ) {
        x += n;
        NSLog(@"The value of n is %i", n);
        NSLog(@"The value of x is %i", x);
    }     

      }

    return 0;

}

2 个答案:

答案 0 :(得分:1)

for子句的括号内有3个语句。

for( initialize values when entering for loop ;
  evaluate statement to determine whether to continue the loop ;
  do after one iteration has passed )
{
  do stuff here;
}

在你的情况下,当进入for循环时,你将x的值分配给x(几乎没有意义),并分配给n。执行一次循环(递增x乘n并进行记录),然后将n递增1,并检查n是否小于或等于20.如果是,则再次执行for循环体,并且增加1 ...直到n大于20.当它变大时,循环将不再执行并退出。

答案 1 :(得分:1)

for循环通常由四部分组成:初始化,条件表达式,增量表达式和循环体。在伪代码中,

for(initialization; conditional; increment){   身体 }

初始化步骤通常用于设置条件和增量表达式中使用的变量。条件表达式求值为布尔值(true / false)。值true将导致循环体被执行。执行循环体中的最后一行代码后,将计算增量表达式,然后再次计算条件表达式......依此类推。