‹ 上一题 下一题 ›

g1-08847. break 与 continue·while 里 continue 的病根 未做

1000 ms 256 MB 测试点 ? 知识点题GESP-11级·循环结构客观题单选

想求 到 中所有奇数的和,程序却一跑就停不下来:

int i = 1, sum = 0;
while (i <= 5) {
    if (i % 2 == 0) {
        continue;
    }
    sum = sum + i;
    i = i + 1;
}
cout << sum << endl;

病根是( )。

  • A. sum 的初值不该是 0
  • B. 条件 i <= 5 应改成 i < 5
  • C. 偶数那轮应该把 continue 换成 break
  • D. 为偶数时 continue 把 i = i + 1 也跳过了, 永远停在
未选择
输入
输出

            
答案