首页 > 其他 > 详细

指向函数的指针(函数指针)

时间:2014-03-22 19:01:36      阅读:508      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
#include <stdlib.h>
#include <stdio.h>
int Compare(int ,int ,int (*Fun)(int ,int ));//比较大小的函数
int GetMax(int ,int );//取最大值函数
int GetMin(int ,int );//取最小值函数
int GetAverage(int ,int );//去取平均值函数
int main()
{
    int Number1 = 0,Number2 = 0;
    int Result[3],i =0 ;//Result数组用来存存储的最大值,最小值和平均值
    printf("output:\ninput two numbers:\n");    
    scanf("%d%d",&Number1,&Number2);
    if(Number1 == Number2)
    {
        printf("输入二个不同的数字:\n");
        return 0;
    }
    /*在start和end之间完成对compare函数的调用和参数的传递以及返回值的存储*/
    /******start******/
    Result[0]=Compare(Number1,Number2,GetMax);
    Result[1]=Compare(Number1,Number2,GetMin);
    Result[2]=Compare(Number1,Number2,GetAverage);

    /******end******/
    printf("\n最大数 最小数 平均值\n");
    for(i=0;i<3;i++)
    {
        printf("%6d",Result[i]);
    }
    printf("\n");
    system("pause");
    return 0;
}

int Compare(int x,int y,int (*Fun)(int ,int ))
{
    //完成对GetMax,Getmin,Getaverage函数的调用和函数的返回值
    return (*Fun)(x,y);
}

int GetMax(int x,int y)
{
    return (x>y)? x:y;
}

int GetMin(int x,int y)
{
    return (x>y)? y:x;
}

int GetAverage(int x,int y)
{
    return (x+y)/2;
}
bubuko.com,布布扣

指向函数的指针(函数指针),布布扣,bubuko.com

指向函数的指针(函数指针)

原文:http://www.cnblogs.com/whl2012/p/3617581.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!