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

C++程序while循环后预期求和输出未显示且无编译错误求助

问题分析与解决

你的代码里存在一个隐蔽的语法问题——while (val <= 10)语句末尾多了一个分号。

在C++中,分号代表一条语句的结束,这个多余的分号会让while循环的循环体变成空语句,后面的{}代码块和循环完全无关。因为循环体没有执行任何操作,val的值一直是1,永远满足val <=10的条件,程序会陷入无限循环,根本执行不到后续的输出语句,所以你看不到求和结果。

修正后的代码如下:

#include <iostream>

int main()
{
    int sum = 0, val = 1;
    while (val <= 10) {  // 移除末尾的分号
        sum += val;
        ++val;
    }

    std::cout << sum << std::endl;
    return 0;
}

移除while条件后的分号后,大括号内的代码会成为循环体:每次循环将val累加到sum,然后val自增1,当val超过10时退出循环,最终就能正确输出1到10的和55。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 14:32:34