对于C中的循环及其工作原理?

时间:2016-07-14 09:23:16

标签: c loops for-loop conditional-statements

$_GET['var']

我是C的初学者并试图了解for循环的工作原理。我的问题是在第4次迭代,嵌套循环中的条件将返回<?php php code here ?>

#include <stdio.h>

int main() {

    int i, j;

    for (i = 2; i < 20; i++) {
        for (j = 2; j <= (i/j); j++) {
            if (!(i%j)) break;
        }
        if (j > (i/j)) printf("%d\n", i);
    }

    return 0;
}

,由于TRUE运营商

,第一个(j < (i/j)) // 2 <= 4/2 语句也会返回if
TRUE

现在NOT的值是因为增量,但为什么第二个(!(i%j)); // 4/2 = !(0) 语句如果是j = 3则没有打印输出?

if

2 个答案:

答案 0 :(得分:4)

在j递增之前你已经脱离了循环,所以j仍然是2,而不是3

答案 1 :(得分:3)

break语句过早地结束其最近的封闭循环。

之后,其后的所有内容(包括for循环的第三个陈述)都不会发生。

因此,当检查打印条件时,j仍为2,例如标记