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

C++ for循环未输出正确整数是否为语法错误?

代码存在的问题

  • 变量重名逻辑混乱:你将循环计数器和存储输入数量的变量都命名为inCount,两个完全不同作用的变量互相覆盖,完全背离了题目要求的执行流程。
  • 执行流程错误:题目要求先单独读取inCount的取值(即后续要输入的整数总个数),再循环读取对应个数的整数输出;你的代码是在循环内部每次读取值覆盖inCount,循环条件还额外限制了inCount <=90,逻辑完全不符合需求。
  • 以你给出的第一组测试用例为例:第一组输入第一个值是5(即正确的inCount为5,后续要读5个整数输出),你的代码执行流程如下:
    1. 循环初始化inCount=0,满足<=90进入循环,读入5覆盖inCount,输出number-5,循环末尾inCount自增为6
    2. 第二次循环读入30覆盖inCount,输出number-30,自增为31
    3. 第三次循环读入85覆盖inCount,输出number-85,自增为86
    4. 第四次循环读入90覆盖inCount,输出number-90,自增为91,此时不满足<=90的循环条件直接结束
      最终多输出了本不该输出的数量值5,还少输出了2个后续输入的整数,和预期结果不符。

修正后的代码

// 先单独读取输入的整数总个数
int inCount;
cin >> inCount;
// 用独立的计数器控制循环次数,每次读入要输出的整数
for (int i = 0; i < inCount; i++) {
    int num;
    cin >> num;
    cout << "number-" << num << endl;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:24:01