编程 C语言用指向函数的指针求两个数中的较大者?

如题所述

函数指针的声明方式和数组指针类似,多了返回值和参数类型。比如:int (*p) (int,int);。

函数名其实就是函数指针,所以还可以作为函数参数传递。

我的代码演示:

#include <stdio.h>

typedef int (*fp)(int,int);

int compare(int,int);

int fun(int n1,int n2,fp funp);

int main()

{

    int n1,n2;

    printf("输入两个数:");

    scanf("%d%d",&n1,&n2);

    fun(n1,n2,compare);

    return 0;

}

int compare(int a,int b)

{

    int max;

    printf("%d和%d两者较大的是\n",a,b);

    if(a>b) max=a;

    else max=b;

    printf("%d\n",max);

    return max;

}


int fun(int n1,int n2,fp funp)

{

    return funp(n1,n2);

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-09

这样可以吧?

见图片

第2个回答  2019-12-09
#include<stdio.h>
int an(int a,int b)
{
if(a>b)
return a;
else return b;
}
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
int (*p)(int a,int b);
p=an;
c=(*p)(a,b);
printf("%d,%d之间的较大者是%d",a,b,c);
return 0;
}追答

喵喵喵?不采纳嘛?

还有什么问题尽管追问

相似回答