$_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
答案 0 :(得分:4)
在j递增之前你已经脱离了循环,所以j仍然是2,而不是3
答案 1 :(得分:3)
break语句过早地结束其最近的封闭循环。
之后,其后的所有内容(包括for
循环的第三个陈述)都不会发生。
因此,当检查打印条件时,j
仍为2,例如标记。