求大佬解释一下编程里的除法问题

来源:3-1 运算符号是啥

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?

写回答 关注

2回答

  • mehie
    2019-03-16 18:01:55

    我是这么想的,

    3个苹果4个人分,人和苹果的数据类型是int,在计算机眼里人和苹果只能是0、1、2这种整数出现不能以0.75这种数出现。每个人分到0.75个苹果,不足1整个苹果,所以最后结果还是0。

    至于double d、e、f、的值不为零,是因为它们的除数或被除数中出现了double类型的数值,苹果或人允许以不是整数形式的double出现,所以最后的结果也变成了0.75的这种情况。

  • mehie
    2019-03-16 17:48:44

    https://img.mukewang.com/5c8cc6390001d44809120465.jpg

    除法运算中,除数与被除数的数据类型,好像影响了最后的运算结果。有大佬能解释一下吗?

    林幕

    用强制类 转换试试,我就这么做的

    2019-06-28 15:19:25

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926288 学习 · 20799 问题

查看课程

相似问题