mehie
2019-03-16 17:25
int a=3;
int b=4;
double c=a/b;
double d=(double)a/(double)b;
printf("%f",c);
printf("%f",d);
为什么c值为0.000000,d值为0.750000?
我是这么想的,
3个苹果4个人分,人和苹果的数据类型是int,在计算机眼里人和苹果只能是0、1、2这种整数出现不能以0.75这种数出现。每个人分到0.75个苹果,不足1整个苹果,所以最后结果还是0。
至于double d、e、f、的值不为零,是因为它们的除数或被除数中出现了double类型的数值,苹果或人允许以不是整数形式的double出现,所以最后的结果也变成了0.75的这种情况。
除法运算中,除数与被除数的数据类型,好像影响了最后的运算结果。有大佬能解释一下吗?
C语言入门
926288 学习 · 20799 问题
相似问题