【问题标题】:Wrong result printed after calculating the volume of a sphere [duplicate]计算球体体积后打印的结果错误[重复]
【发布时间】:2021-02-05 16:15:14
【问题描述】:

这是我的代码:

#include <stdio.h>

#define PI 3.141592f
#define RADIUS 10.0f

int main(void)
{
    float volume;
    
    volume = (4.0f/3.0f) * PI * (RADIUS * RADIUS * RADIUS);
    printf("Volume: %d\n", volume);

    return 0;
}

它错误地打印了值536870912

我做错了什么?据我所知,数学是对的。

【问题讨论】:

    标签: c calculation radius


    【解决方案1】:

    %d 用于打印int,因此将float 传递给它会调用未定义的行为

    您应该使用%f%g 打印float

    【讨论】:

      猜你喜欢
      • 2013-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多