打印浮点值0.9 in C

xam*_*mbo 1 c floating-point

请为我这个非常基本的问题鞭挞我,但我仍然无法理解为什么会这样.

我读到了为了在昏迷后打印几个值,我应该在C中使用%.f

所以我有这个问题,计数90/100.我希望打印0.9

#include <stdio.h>
#include <math.h>

int main()
{
double c=0;

c = 90/100;
printf("%.1f\n", c);
}
Run Code Online (Sandbox Code Playgroud)

它显示我0.0 ..(错误..).试图将其更改为(printf("%f \n",c))返回0.00000 ..(错误..)

谁能帮我这个?(对不起,编程真的很新......)

谢谢

Nic*_*kLH 9

问题是你正在进行整数除法.整数表示90/100 = 0.

如果你想获得0.9,请执行:90.0/100.0

  • @sethCarnegie:是的,我打算去,但我需要等几分钟才允许接受答案:) (2认同)

Sha*_*fiz 5

问题在于

c = 90/100;
Run Code Online (Sandbox Code Playgroud)

虽然,它将被分配给双数据类型,但计算本身都是整数,这就是值为0.0的原因.

尝试,

c = 90.0/100;
Run Code Online (Sandbox Code Playgroud)