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

C语言输入p、n、r后计算利息i始终返回0.0000问题排查

问题根因
  • 核心错误是计算逻辑执行顺序颠倒:C语言代码按从上到下的顺序逐行执行,你在调用scanf读取用户输入的p、n、r三个变量值之前,就先执行了i=p*n*r/100;的计算逻辑。此时三个变量都是未初始化的局部变量,存储的是内存中的随机脏值,最终输出的i自然不是预期的利息结果。
修正方案

调整计算语句的位置,将利息计算逻辑放在所有输入读取完成之后、结果打印之前即可,修正后完整代码如下:

int main()
{
    int p,n;
    float r,i;

    printf("enter principle=\n");
    scanf("%d",&p);

    printf("enter rate=\n");
    scanf("%f",&r);

    printf("enter no.of years=\n");
    scanf("%d",&n);

    i=p*n*r/100;

    printf("value of i=%f",i);

    return 0;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 11:42:03