标题:一道简单的题目,求解释
只看楼主
欧冯
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-6-12
结帖率:50%
已结贴  问题点数:20 回复次数:6 
一道简单的题目,求解释
int a=3,b=4;
float c;
c=a/b;
则c的值是多少,为啥
搜索更多相关主题的帖子: int float 多少 
2019-06-12 16:06
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
a/b 也就是 3/4,幼儿园小朋友都知道是 0 (一个玩偶要4元钱的话,那么3元钱可以买几个玩偶。小朋友踊跃举手:“一个都买不到,零个”)
float c = a/b; 也就是将 整数0 赋值给 单精度浮点数,结果是 0.0f

2019-06-12 16:58
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
3/4 是int类型,值为 0
3.0/4.0 是double类型,值为 0.75
3.0f/4.0f 是float类型,值为 0.75f

而 3/4.0 之类,两个操作数类型不一致或低于int,这时要求类型提升,即 3/4.0 转化为 3.0/4.0


[此贴子已经被作者于2019-6-13 15:59编辑过]

2019-06-12 17:01
欧冯
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-6-12
得分:0 
回复 3楼 rjsp
最后那句就是强制类型转换吧
2019-06-13 15:29
欧冯
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-6-12
得分:0 
回复 3楼 rjsp

3.0/4.0为啥不是0.75


[此贴子已经被作者于2019-6-13 15:38编辑过]

2019-06-13 15:35
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
回复 5楼 欧冯
我看了一下我在3楼的回复,拷贝粘贴后忘了修改,不好意思,是我的错
现改为:

3/4 是int类型,值为 0
3.0/4.0 是double类型,值为 0.75
3.0f/4.0f 是float类型,值为 0.75f

而 3/4.0 之类,两个操作数类型不一致或低于int,这时要求类型提升,即 3/4.0 转化为 3.0/4.0
2019-06-13 15:58
欧冯
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-6-12
得分:0 
回复 6楼 rjsp
谢谢
2019-06-15 10:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-495229-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.117270 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved