You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确将C++中的do-while循环转换为符合语法规范的for循环

错误原因分析

  • 你写的for循环不符合C++语法规范:标准for循环的括号内仅支持三个用分号分隔的表达式,分别对应「变量初始化」「循环继续条件」「每轮循环结束后的变量更新」,你额外把奇偶判断塞到了for的括号里,直接触发语法错误
  • 你删除了原do-while循环内的if分支逻辑,原逻辑是奇偶判断后输出不同内容,你修改后的代码会每次循环同时输出两行内容,和原逻辑完全不匹配
  • 原do-while循环的循环继续条件是i <= 20,这个条件应该放在for循环的第二个表达式位置,你之前放错了位置

正确转换后的代码

原do-while逻辑是先执行循环体再判断终止条件,在当前场景下i初始值为1,第一次执行必然满足i<=20的要求,所以直接按标准for转换即可,执行结果和原代码完全一致:

for (int i = 1; i <= 20; i += 2) {
    if (i % 2 == 0)
        cout << "Hallo\n";
    else
        cout << "Apa Khabar\n";
}

内容的提问来源于stack exchange,提问作者Darin Hinze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:24:03