知识点:用指向函数的指针作函数参数

来源:互联网 发布:世界征服者3mac破解版 编辑:程序博客网 时间:2024/05/16 19:38
//知识点:用指向函数的指针作函数参数/*题目:有两个整数a和b,由用户输入1,2或3.如输入1,程序就给出a和b中大者,输入2,就给出a和b中小者,输入3,则求a和b之和。 */ #include<stdio.h>main(){    int fun(int x,int y,int (*p)(int,int));     //fun函数声明    int max(int,int);       //max函数声明    int min(int,int);       //min函数声明    int add(int,int);       //add函数声明    int a,b,n;    scanf("请输入a:%d",&a);    scanf("请输入b:%d",&b);    printf("Please choose 1,2 or 3:");    scanf("%d",&n);     //输入1,2或3之一    if(n==1)    fun(a,b,max);   //输入1时调用max函数    else    if(n==2)    fun(a,b,min);       //输入2时调用min函数    else    if(n==3)    fun(a,b,add);       //输入3时调用add函数    return 0; }  int fun(int x,int y,int(*p)(int,int))  //定义fun函数 {    int result;     result=(*p)(x,y);     printf("%d\n",result);  }  int max(int x,int y)   //定义max函数  {    int z;    if(x>y) z=x;    else    z=y;     printf("max=");     return(z);     //返回值是两数中的大者  } int min(int x,int y)   //定义min函数 {    int z;     if(x>y)    z=x;     else z=y;     printf("min=");     return(z);     //返回值是两数中的小者  }  int add(int x,int y)   //定义add函数 {    int z;    z=x+y;    printf("sum=");    return(z);      //返回值是两数的和  } 
0 0
原创粉丝点击