| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 574 人关注过本帖
标题:一个简单的函数的指针
只看楼主 加入收藏
万仁全
Rank: 1
等 级:新手上路
帖 子:23
专家分:1
注 册:2011-8-31
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:3 
一个简单的函数的指针
程序代码:
/******************************************************
    由用户指定x的值,分别求x^2-2和x^3-2x+5的值
******************************************************/
#include"stdio.h"
#include"math.h"

double f1(double x)
{
    return (x*x-2);
}

double f2(double x)
{
    return (x*x*x-2*x+5);
}

void main()
{
    int i;
    double x;
    double (*fp)(double);            //定义一个指向函数的指针
    puts("function1------x*x-2");
    puts("function2------x*x*x-2*x+5");   
    printf("\n请选择函数1或者函数2:");
    scanf("%d",&i);
    if(i==1)
        fp=f1;
    else
        fp=f2;
    printf("\n请输入一个double型的x值:");
    scanf("%f",&x);
    printf("    所得的结果是:%f",(*fp)(x));
}
结果算不正确,为什么啊?看了一个多小时了,找不出来,谢谢帮我看看
搜索更多相关主题的帖子: color 用户 
2011-09-15 21:21
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:5 
回复 楼主 万仁全
double x;是32位 printf( " 所得的结果是:%f " scanf( " %f " ,&x); 这两个都类型不符。要用%Lf占位符

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-09-15 21:35
赵灿星
Rank: 2
等 级:论坛游民
帖 子:11
专家分:14
注 册:2011-9-13
收藏
得分:0 
对double类型的变量输入时一定要用%lf
例如:
double x;
scanf("%lf", &x);
而对于double类型变量的输出则没有要求,因为输出是float型会被自动提升为double型
2011-09-15 22:24
万仁全
Rank: 1
等 级:新手上路
帖 子:23
专家分:1
注 册:2011-8-31
收藏
得分:0 
thank you very much!!very very much!!
2011-09-16 10:25
快速回复:一个简单的函数的指针
数据加载中...
 
   



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

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