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

C++ 使用vector编写的程序循环运行后控制台无输出问题排查

问题原因分析
  • 核心原因是vector越界访问触发未定义行为,导致程序运行过程中直接崩溃,无法执行到cout打印语句:
    C++中vector的下标索引合法范围为[0, 容器大小-1],你在两层for循环的终止条件中都错误使用了<=busStation.size():传入的测试用例vector大小为4,合法索引是0/1/2/3,当循环变量i=4时,访问busStation[i]已经越界,程序直接终止,不会返回结果也不会打印内容。
修复方案

将两层循环的终止条件修改为<busStation.size()即可解决无输出的问题,修改后的函数代码如下:

int busRemaining(vector<vector<int>> &busStation) {
    int answer=0;
    // 把<=改成<
    for(int i=0; i < busStation.size(); i++) {
        for(int j=i+1; j < busStation.size(); j++)
        {
            if((busStation[i][0] <= busStation[j][0]) && (busStation[i][1] >= busStation[j][0])) {
                answer++;
            }
        }
    }
    return answer;
}

修改后运行测试用例即可正常输出结果,你可以根据题目的实际要求再调整逻辑判断部分的代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:36:03