为什么浮动在划分后总是以.0000 ..结尾?

时间:2015-06-05 02:49:11

标签: c

#include<stdio.h>
void main(){
  int a;float b;
  scanf("%d",&a);
  b=a/4;
  printf("%f",b);
}

例如,9除以4应打印2.25,而是打印2.0000。为什么呢?

2 个答案:

答案 0 :(得分:2)

因为aint。您应该将a投射到float,就像这样

b = (float)a /4;

答案 1 :(得分:1)

a是一个整数,所以你的除法是用整数执行的,然后当你将它赋给b

时,结果被强制转换为浮点数