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

C++多栈操作代码运行出现timeout: the monitored command dumped core错误

错误触发原因

代码中stop1指令对应的分支存在低级笔误:

  • while循环的终止条件错误判断了stk0是否为空,但循环体内实际操作的是stk1
  • 对应你给出的测试用例,执行到stop1时:
    • stk0中还剩余2个元素(Agra、Meerut),永远满足非空条件,循环会无限执行
    • stk1中仅剩余2个元素(Jaipur、Ajmer),循环执行2次后stk1就被清空,后续再调用stk1.top()、stk1.pop()属于未定义行为,直接触发段错误(core dump),同时死循环逻辑也会触发超时报错。
修复方案

只需要将stop1分支的循环条件中的stk0修改为stk1即可,修改后的对应代码片段如下:

else if(a=="stop1") {
    while(!stk1.empty()) {
        cout<<stk1.top()<<endl;
        stk1.pop();
    }
    break;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:09:05