请为我这个非常基本的问题鞭打我,但我仍然无法理解为什么会这样。
我读到了为了在昏迷后打印几个值,我应该在C中使用%.f。
所以我有这个问题,计算90/100。我希望打印0.9
#include <stdio.h>
#include <math.h>
int main()
{
double c=0;
c = 90/100;
printf("%.1f\n", c);
}
它显示我0.0 ..(错误..)。试图将其更改为(printf(“%f \ n”,c))以0.00000返回我..(错误..)
任何人都可以帮我吗? (对不起,编程真的很新......)
谢谢
答案 0 :(得分:9)
问题是你正在进行整数除法。 90/100 = 0整数。
如果你想获得0.9,请执行:90.0 / 100.0
答案 1 :(得分:5)
问题出在
c = 90/100;
虽然,它将被分配给double数据类型,但计算本身都是整数,这就是值为0.0的原因。
尝试,
c = 90.0/100;
答案 2 :(得分:2)
是整数除法,执行:
c = 90.0/100;
c = (float)90/100;
你需要将至少一个操作符设为double,以将整个等式计算为double
答案 3 :(得分:1)
您正在划分两个整数,因此结果也是整数。请尝试以下
#include <stdio.h>
#include <math.h>
int main()
{
double c=0;
c = 90.0/100;
printf("%.1f\n", c);
}