首页 新闻 会员 周边

为什么我使用浮点数作为函数的返回值,传递过来的值是不一样的

0
[已关闭问题] 关闭于 2015-09-19 20:38

double f()

{

  double ans = 0.1;

  return ans;

}

main()

{

  double g = f();

}

为什么传递过来的g的值不是0.1

问题补充:

12.345000000  //打印ans返回之前的值
-687194752.000000000  //打印g的值

ithan的主页 ithan | 菜鸟二级 | 园豆:234
提问于:2015-09-17 17:21
< >
分享
所有回答(6)
0

我是没看懂你这是什么意思

MrNice | 园豆:3450 (老鸟四级) | 2015-09-17 17:25

改了改问题, 你再看看

支持(0) 反对(0) ithan | 园豆:234 (菜鸟二级) | 2015-09-17 17:44
0

肯定不一样啊,一个是double类型的变量,一个是返回值为double类型的方法

✎﹏ℳ๓₯㎕ღ | 园豆:1499 (小虾三级) | 2015-09-17 17:38

那个返回值是double类型函数,传递过来为什么会不一样

支持(0) 反对(0) ithan | 园豆:234 (菜鸟二级) | 2015-09-17 17:45
0

返回值是多少

jello chen | 园豆:7336 (大侠五级) | 2015-09-17 21:55

补充了问题

支持(0) 反对(0) ithan | 园豆:234 (菜鸟二级) | 2015-09-19 19:43
0

返回0.100000,只是精度问题

silianpan | 园豆:571 (小虾三级) | 2015-09-18 09:20
0

首先double好想是不能准确表示0.1也就是说你第一个方法里的变量值就不是0.1,你调试在return ans;看ans的值

吴瑞祥 | 园豆:29449 (高人七级) | 2015-09-18 09:52
0

你可以去看看double的精度与范围,包括它的存储http://blog.csdn.net/wuna66320/article/details/1691734

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-09-19 12:30

你如果想返回0.1,可以保存一位小数

支持(0) 反对(0) 稳稳的河 | 园豆:4216 (老鸟四级) | 2015-09-19 12:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册