c - 无法计算正确的平均值

标签 c floating-point stdio

C语言,stdio.h库

示例代码:

float avg;
avg = 3 / 2;
printf("Average: %.2f", avg);

从上面的代码中,我期望得到以下输出:

Average = 1.50

但我得到的是:

Average = 1.00

这是为什么呢?如何获得正确的输出?

最佳答案

3 和 2 是整数,因此所得整数(即 1)将在除法后转换为浮点型,得到 1.00。 你必须让它们漂浮起来 这样做:

avg = 3.0 / 2.0;

关于c - 无法计算正确的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47234384/

相关文章:

Python:以 double 翻转一个精确位

c - 重定向时强制程序刷新其标准输出

c - 如果返回 NULL,则由 fgets 保证空终止

c# - 一元加号运算符有什么作用?

c - 龟兔赛跑指南

python - 在循环内修改变量时测试数字相等性

c++ - 列表中 double 和 float 对象的大小是否相等?

c++ - 在 C++ 代码中应该使用哪个 C I/O 库?

c - 错误 : too few arguments to gtk_widget_new()

c++ - 寻找具有特定功能的多边形几何库