首页 > 试题广场 >

下面代码执行后的结果为( &...

[单选题]
下面代码的输出为()
int main() {
    int sum = 0;
    int i = 0,j = 0;

    for(j = 0; j < 6; j++){
        if (j%2) continue;
        sum++;
    }

    printf("sum = %d", sum);

    return 0;
}
  • sum = 1
  • sum = 2
  • sum = 3
  • 其他几项都不对
j为0,2,4的时候,j%2就是取余数为0,不满足if的条件,不执行continue,执行sum++,加了三次,所以结果为3,虽然结果一样,但是你应该理解错了。。。本人也是菜鸟。
发表于 2020-08-04 10:07:35 回复(2)
当j 不是2的整倍数时,表达式不为0,if语句条件成立,执行continue,跳出此次循环,不执行后面的sum++语句,进入下一次循环,所以sum++只进行了3次,sum最终结果为3。
编辑于 2020-08-04 10:44:47 回复(0)
这题考察continue语句
发表于 2021-05-18 21:30:42 回复(3)
0对2取余是2,1对2取余是1
发表于 2023-05-18 15:03:31 回复(0)
中断当前迭代,继续执行循环
发表于 2021-11-24 19:34:51 回复(0)
奇数就终止当前循环 那么 就有0,2,4符合条件 sum就是自加三次 所以选择sum=3
发表于 2021-04-13 17:16:50 回复(0)