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

C语言实现n到0递减顺序减法运算代码错误求修正

C语言n到0递减减法代码问题修正

存在的错误

  • 错误1:sum 局部变量未初始化,C语言中未显式初始化的栈局部变量会携带随机垃圾值,直接执行自减运算无法得到正确结果。
  • 错误2:循环运算逻辑不符合需求:你需要的运算逻辑是 n作为被减数,依次减去n-1到0的所有数,原代码从i=n就开始执行减法,相当于多减了一次n,逻辑完全错位。

修正后的代码

#include<stdio.h>

int main(void) {
    int i, n, sum;
    printf("Enter any number:");
    scanf("%d", &n);

    // 初始化sum为被减数n
    sum = n;
    // 从n-1开始递减到0,依次作为减数
    for(i = n-1; i >= 0; i--) { 
        sum -= i;
    }

    printf("%d\n", sum);
    return 0;
}

效果验证

输入n=5时,运算过程为5-4-3-2-1-0,最终输出结果为-5,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

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