<分区>
我试图将两个数字相除并打印答案,但编译器总是给出 1.000000 作为答案,我试过更改文字,但答案还是有些相同。
这是我的代码:
#include <stdio.h>
int main()
{
float a = 20 / 12;
printf ("%f", a);
}
知道为什么会发生这种情况以及如何获得正确答案吗?
<分区>
我试图将两个数字相除并打印答案,但编译器总是给出 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/