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

C语言数组求和代码运行异常:正确结果无法显示问题排查

问题排查:数组求和结果显示错误的C语言代码修复

你的代码核心问题是格式化字符串与变量类型不匹配,导致求和结果显示异常:

  • sum被定义为float类型(初始值为0.0,累加的也是浮点数组元素),但你使用了整数格式符%d来输出它。这会导致程序把float的二进制存储格式错误解析为整数,从而输出不正确的结果。

修复方案

将求和结果的输出语句中的格式符替换为浮点型格式符即可。如果需要输出整数形式的和(如示例中的12而非12.00),可以使用%.0f;若保留小数则用%f。

修复后的完整代码:

#include <stdio.h>
int main() {
    int size, i;
    float n[1000], avg, sum = 0.0;

    printf("Enter size: ");
    scanf("%d",&size);

    for (i = 0 ; i < size ; i++) {
        printf("Enter element %d: ", i+1);
        scanf("%f",&n[i]);
        sum +=n[i];
    }

    // 修复:用%.0f输出整数形式的求和结果
    printf("Sum: %.0f\n",sum);

    avg = sum / size;
    printf("Average: %.2f",avg);

    return 0;
}

测试验证

输入数组大小3,依次输入2、4、6后,程序会正确输出:

Sum: 12
Average: 4.00

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 14:45:27