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

C语言双精度数值相加函数返回结果始终为0的问题排查

问题排查与修复方案

核心问题分析

  • scanf格式符不匹配:double类型变量的读取必须使用%lf格式说明符,原代码中误用%f(对应float类型),导致输入值无法正确写入in1和in2,变量保持初始0值,最终相加结果为0。
  • 字符串换行错误:原代码中printf的字符串未使用标准换行转义符\n,会引发编译警告,需修正为正确的换行写法。
  • 冗余代码:addem函数内定义的sum变量未被使用,可删除以简化代码。

修复后的完整代码

#include <stdio.h>

double addem(double input1, double input2)
{
    return input1 + input2;
}

int main(){
    double in1, in2, add = 0;
    printf("Enter the numbers\n");
    scanf("%lf", &in1);
    scanf("%lf", &in2);
    // Calling function
    add = addem(in1, in2);
    printf("Sum = %f\n", add);
    
    return 0;
}

验证运行结果

Enter the numbers
3
3
Sum = 6.000000

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 05:04:56