标题:求关于float返回值的问题
只看楼主
jzhangy
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-7-14
结帖率:0
已结贴  问题点数:20 回复次数:4 
求关于float返回值的问题
下面这段代码,我想问的是。。为什么 F 在子函数里面的可以正常打印出1234.567800,而在主函数中打印出的是1234.577749呢。
求指教啊!各位帮帮我!!!

#include <stdio.h>

float F;
float ToFloat(int il,int pl);
void main()
{
    int il=4;
    int pl=4;
    ToFloat(il,pl);
    printf("The num is: %f\n",F);
}   

float ToFloat(int il,int pl)
{
    int el;
    int z=1234;
    float z1=0.5678;
    el=il+pl;
    F=z+z1;
    printf("The num is: %f\n",F);
    return F;
}   
搜索更多相关主题的帖子: include return 
2012-07-14 18:08
shapoo
Rank: 2
等 级:论坛游民
帖 子:12
专家分:57
注 册:2012-7-13
得分:5 
1234.577749?是1234.567749吧


我的博客: www.shapoo. net  
2012-07-14 18:25
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:5 
测试证明
两个都是1234.567749

GCC编译器编译运行...
float丢失精度了...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2012-07-14 20:32
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
得分:5 
......这和精度有关的,float的精度是7位,double型就不会出现这种情况
2012-07-14 20:49
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
得分:5 
学习了!

做自己喜欢的事!
2012-07-21 16:07



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




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

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