| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3394 人关注过本帖
标题:写函数时用double型正确用float型错误,同是小数我很郁闷!
取消只看楼主 加入收藏
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
结帖率:81.82%
收藏
已结贴  问题点数:10 回复次数:12 
写函数时用double型正确用float型错误,同是小数我很郁闷!
程序代码:
#include<stdio.h>
#define PI 3.141592
float circumference(double n)//          这段代码是正确的
                                         但如果把float circumference(double n)
                                         换成float circumference(float n)输出就出错了!
                                          我调试的的时候n的值带不过来,并不是float x的
                                          值3.2,而是0.

{
    return(2*PI*n);
}
float area(double n)//
{
    return(PI*n*n);
}
float comp(float x,float(*q)())
{
    double result;
    result=(*q)(x);
    return(result);
}
void main()
{
    float r=3.2,z,y;
    z=comp(r,circumference);
    y=comp(r,area);
    printf("circumference=%.3f\n",z);
        printf("area=%.3f\n",y);

}
搜索更多相关主题的帖子: double 
2016-08-29 11:24
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
吃过饭的大神们帮忙告知一下是什么原因导致的,谢谢了!
2016-08-29 11:25
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
回复 3楼 向洪林
但是我全用float还是输出为‘0’...
2016-08-29 11:33
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
回复 3楼 向洪林
全用double就输出正确。。。
2016-08-29 11:33
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
回复 8楼 rjsp
我就是想用函数指针变量来调用相应的函数,
我神所说的这句话我没闹懂能详细点吗?
2016-08-29 13:33
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
回复 7楼 ehszt
您这个面积计算就是2*PI*r*r了,貌似不对啊!
2016-08-29 13:35
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
回复 6楼 书生牛犊
对啊,这是为啥子啊?我神!
2016-08-29 13:48
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
回复 12楼 linlulu001
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-08-29 14:11
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
回复 12楼 linlulu001
我用vc6.0编译的,没错的。但是我把函数里的参数换成 float型就是错的,结果周长是‘0’!!!
2016-08-29 14:13
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
收藏
得分:0 
回复 15楼 ehszt
额,这里的函数指针变量不加参数float x一样能编译成功的。
但是会出现我所说的错误,加上了float参数后就两种数据类型都
可以得到正确值。虽然我知道了问题在哪了,可还是不知道为什么会这样。
2016-08-29 14:56
快速回复:写函数时用double型正确用float型错误,同是小数我很郁闷!
数据加载中...
 
   



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

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