c:指向函数的指针变量来求取最大最小值

问题描述:

以下使一个简单的例子,用来说明指向函数的指针变量。定义两个函数max和min,分别用来求最大值和最小值。在主函数中根据用户输入的数字是1或者是2,使指针变量指向max函数或者min函数。

codes:
#include <stdio.h>
int main()
{
    int max(int,int);//求最大值函数声明 
    int min(int,int);//求最小值函数声明 
    int (*p)(int,int);//定义指向函数的指针变量 
    
    int a,b,c,n;
    printf("please input two numbers:");//输入两个数 
    scanf("%d%d",&a,&b);
    printf("please choose 1 or 2:");//输入1 or 2 
    scanf("%d",&n);
    if(n == 1){ //如果输入1则使 p 指向max函数 
        p = max;
    }
    else if(n == 2){    //如果输入2,使p指向min函数 
        p = min;
    }
    
    c = (*p)(a,b);
    printf("a = %d, b = %d\n",a,b);
    
    if(n == 1){
        printf("max = %d\n",c);
    }
    else{
        printf("min = %d\n",c);
    }
    return 0;
}

int max(int x, int y)   //求最大值函数 
{
    return x > y ? x : y;
} 

int min(int x, int y)   //求最小值函数 
{
    return x < y ? x : y;
}

You can leave me a message if you find out any mistake in my diary, I'll correct it, thanks.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,534评论 3 44
  • !!!注意:因为简书的显示格式缘故,所以“ * ”显示会出现问题,可能有些星号由于疏忽未改动格式,造成没有显示,请...
    Eric_Hunter阅读 759评论 0 0
  • 空气中漂浮着价值的气息 随着呼吸进入身体 万物成了数字 情感在荒漠中迷失了方向 理想是一种奢侈品 变质的成功膨胀,...
    水映世界阅读 271评论 0 2
  • 园有桃先秦:佚名园有桃,其实之肴。心之忧矣,我歌且谣。不知我者,谓我士也骄。彼人是哉,子曰何其?心之忧矣,其谁知之...
    To者也阅读 576评论 0 1
  • 十岁, 你对生活,一笑。 二十岁, 你对生活,微笑。 三十岁, 你对生活,笑笑。 以后呢, 生活对你一直笑……
    小剧在成长阅读 203评论 6 9