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

计算n个自然数和的程序输入数字后无输出且持续运行问题

自然数求和程序死循环问题分析与修复

你的代码出现死循环的核心原因是while循环语句末尾多了一个分号:

while(i<=n); //loop runs n times

这个分号会被识别为空语句,成为while的循环体。大括号内的s=s+i;和i++;根本不会被执行,变量i始终保持初始值1,永远满足i<=n的条件,导致程序一直卡在循环中无法推进。

修正后的代码

#include<stdio.h>
int main()
{
    int i,n,s;
    i=1;s=0;
    printf("Enter a number:");
    scanf("%d",&n);
    while(i<=n) //loop runs n times
    {
        s=s+i; 
        i++;
    }
    printf("%d",s);
}

补充说明:保存代码后程序可正常输出预期结果,代码本身无问题。保留此内容供遇到同类问题的用户参考,建议先保存源码再运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:30:39