| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1318 人关注过本帖
标题:求助函数指针作为函数参数的问题。
取消只看楼主 加入收藏
peter张
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:98
注 册:2017-3-7
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
求助函数指针作为函数参数的问题。
程序代码:
#include <stdio.h>

int main(void)
{
    
    int max(int, int);
    int min(int, int);
    
    int process(int x, int y, int (*p)());
    
    int a;
    int b;

    printf("请输入两个数据:\n");
    scanf("%d %d", &a, &b);
    
    
    process (a,b,max);
    printf("max = %d",max);

    return 0;

}

int process(int x, int y,int f())
{
    return  f(x,y);
}


int max(int x, int y)
{
    int z;

    if(x > y)
    {
        z = x;
    }
    else 
    {
        z = y;
    }
    
    return z;
}


int min(int x, int y)
{
    int z;

    if (x < y)
    {
        z = x;
    }
    else 
    {
        z = y;
    }

    return z;
}

图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2017-3-31 21:30编辑过]

2017-03-31 20:56
peter张
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:98
注 册:2017-3-7
收藏
得分:0 
回复 2楼 Alien_Lee
刚开始学习,请指教。
目的是通过函数指针作为函数的参数来调用其他函数比较两个数据的大小。
2017-03-31 21:23
peter张
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:98
注 册:2017-3-7
收藏
得分:0 
修改后的代码:

程序代码:
#include <stdio.h>

int main(void)
{
    
    int max(int, int);
    int min(int, int);
    int sum(int, int);
    
    
    void process(int x, int y, int (*p)());
    
    int a;
    int b;

    printf("请输入两个数据:\n");
    scanf("%d %d", &a, &b);
    
    printf("max = ");
    process (a,b,max);
    
    printf("min = ");
    process (a,b,min);

    printf("sum = ");
    process (a,b,sum);

    return 0;

}

void process(int x, int y,int f())
{
     printf("%d",f(x,y));


}


int max(int x, int y)
{
    int z;

    if(x > y)
    {
        z = x;
    }
    else 
    {
        z = y;
    }
    
    return z;
}


int min(int x, int y)
{
    int z;

    if (x < y)
    {
        z = x;
    }
    else 
    {
        z = y;
    }

    return z;
}

int sum(int x, int y)
{
    int z;

    z = x + y;

    return z;
}
2017-03-31 21:34
peter张
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:98
注 册:2017-3-7
收藏
得分:0 
回复 2楼 Alien_Lee
你的process子程序声明与定义虽然看似相同,其实是有略微差别的--请教下,这有什么差别?
2017-03-31 21:38
peter张
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:98
注 册:2017-3-7
收藏
得分:0 
回复 5楼 烟雨晨曦

函数指针是这样用的。
赞一个。
2017-03-31 21:41
快速回复:求助函数指针作为函数参数的问题。
数据加载中...
 
   



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

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