搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 为什么double b=1/5; 的结果为0?
标题:
为什么double b=1/5; 的结果为0?
只看楼主
凯特烦恼
等 级:
新手上路
帖 子:3
专家分:0
注 册:2019-9-23
结帖率:
0
楼主
已结贴
√
问题点数:20 回复次数:7
为什么double b=1/5; 的结果为0?
问题:为什么double b=1/5; 的结果为0?
ps:新手望各位大佬多多指教,谢谢。
搜索更多相关主题的帖子:
多多
double
结果
2019-11-17 10:13
深秋2015
等 级:
贵宾
威 望:
12
帖 子:402
专家分:1500
注 册:2015-10-13
第
2
楼
得分:7
直接贴代码
从此以后我都不敢抬头看
仿佛我的天空失去了颜色
2019-11-17 10:16
凯特烦恼
等 级:
新手上路
帖 子:3
专家分:0
注 册:2019-9-23
第
3
楼
得分:0
回复 2楼 深秋2015
好的,谢谢。
#include <iostream>
using namespace std;
int main() {
int a = 10;
double b = 1 / 5;
cout << "a=" << a << endl;
cout << "b=" << b << endl;
cout << "a+b=" << a + b << endl;
}
2019-11-17 10:18
深秋2015
等 级:
贵宾
威 望:
12
帖 子:402
专家分:1500
注 册:2015-10-13
第
4
楼
得分:0
虽然b定义为了double类型,但是1和5都是int型,所以相除仍是0
改成这样:
double
b =
double
(
1
) /
5
;
从此以后我都不敢抬头看
仿佛我的天空失去了颜色
2019-11-17 10:30
凯特烦恼
等 级:
新手上路
帖 子:3
专家分:0
注 册:2019-9-23
第
5
楼
得分:0
回复 4楼 深秋2015
好的,谢谢,这样好使了。
2019-11-17 12:04
花脸
等 级:
蝙蝠侠
威 望:
9
帖 子:788
专家分:907
注 册:2017-1-4
第
6
楼
得分:7
double
b =
1.0
/
5
;
double
b =
1
/
5.0
;
2019-11-17 12:36
wyx_luffy
等 级:
新手上路
威 望:
3
帖 子:5
专家分:7
注 册:2019-11-14
第
7
楼
得分:7
因为当除号两端皆为整数时,编译系统将其默认为整除,于是乎1/5=0.2,int(0.2)==0!!!
所以应将1或5中任一一数改为1.0或5.0
double
b=
1.0
/
5
2019-11-20 17:50
testpilot
等 级:
新手上路
帖 子:1
专家分:0
注 册:2019-11-27
第
8
楼
得分:0
1.0和1区别还是挺大的
2019-11-27 17:24
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-497858-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.968703 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved