c - printf - float 的错误答案

标签 c floating-point printf

<分区>

我试图将两个数字相除并打印答案,但编译器总是给出 1.000000 作为答案,我试过更改文字,但答案还是有些相同。

这是我的代码:

#include <stdio.h>
int main()
{
float a = 20 / 12;
printf ("%f", a);
}

知道为什么会发生这种情况以及如何获得正确答案吗?

最佳答案

改变

float a = 20 / 12;

float a = 20 / 12.f;

20/12 是整数除法。

关于c - printf - float 的错误答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25875885/

相关文章:

c - 从 C 文件中读取的矩阵

c - 编码 AVR ATmega32 和 Arduino Mega 之间的主要区别是什么?

c++ - double 到 unsigned int/char

java - 精度损失 - int -> float 或 double

c - 树问题中的递归函数

c - OpenSSL 函数 EVP_PKEY_keygen 中的内存泄漏

floating-point - 计算中点

c - 用于在 c 中以十六进制格式打印结构中的位字段的格式说明符

c++ - 将 AES 加密的十六进制字符串转换回 C++ 中的字符串

c - 为什么 printf 会导致段错误?