我试图将两个数字相除,然后打印出结果,但编译器总是给出1.000000作为答案,Iv'e尝试更改字面值,但结果仍然是相同的。
下面是我的代码:
#include <stdio.h>
int main()
{
float a = 20 / 12;
printf ("%f", a);
}你知道为什么会发生这种情况吗?如何得到正确的答案?
发布于 2014-09-17 02:22:34
变化
float a = 20 / 12;至
float a = 20 / 12.f;20 / 12是一个整数除法。
发布于 2014-09-17 02:26:00
将至少一个值类型转换为float类型。
float a=(float)20/12;发布于 2014-09-17 02:25:00
如果我更改,您正在执行整数除法
float a = 20 / 12;至
float a = (float) 20 / 12;我得到了
1.666667https://stackoverflow.com/questions/25875885
复制相似问题