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

求修复:计算圆柱体体积的C语言代码持续报错

修复圆柱体体积计算的C语言代码错误

你的代码存在一个关键语法错误,会导致程序运行异常:

  • 读取高度h的scanf语句中,未使用取地址符&,scanf需要传入变量的内存地址才能正确存储输入值。

修复后的完整代码

#include <stdio.h>

int main()
{
    const float pi = 3.14;
    float r, h, vol;

    printf("Enter Radius Of the Cylinder.\n");
    scanf("%f", &r);

    printf("Enter Height of the Cylinder.\n");
    scanf("%f", &h); // 此处添加了取地址符&

    vol = r * r * pi * h;

    printf("Volume Of Cylinder is %f\n", vol); // 额外添加换行符,优化输出格式
     
    return 0;
}

错误说明

scanf("%f", h);中的h是变量的当前值,而非内存地址,scanf无法通过值来修改变量内容。必须使用&h获取变量h的内存地址,输入的数值才能被正确存入h中。

可选优化建议

  • 若需要更精确的圆周率,可引入<math.h>头文件,使用宏定义M_PI(部分编译器需开启数学库编译选项,比如GCC需添加-lm参数):
    #include <math.h>
    // 替换原有pi定义
    const double pi = M_PI;
    
  • 添加输入验证,避免用户输入非数值内容导致程序异常:
    if (scanf("%f", &r) != 1) {
        printf("Invalid input for radius!\n");
        return 1;
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 11:52:05