为了账号安全,请及时绑定邮箱和手机立即绑定

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

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 回答

我是这么想的,

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

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

1 回复 有任何疑惑可以回复我~

https://img1.sycdn.imooc.com//5c8cc6390001d44809120465.jpg

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

0 回复 有任何疑惑可以回复我~
#1

林幕

用强制类 转换试试,我就这么做的
2019-06-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926207    人
  • 解答问题       20797    个

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

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信