指针14(指向函数的指针作函数参数1)

如果一个函数的形参是指向函数的指针变量,再调用该函数时,可以用函数的指针作实参,将函数的指针传给形参指针变量,这样,就可以在该函数中通过形参指针变量调用实参函数。调用该函数时可以用不同函数的指针作实参,以调用不同的函数,完成不同的功能。

例如
题目:应用指向函数的指针做函数参数,编写一个函数process,每次调用它的时候实现不同的功能。输入a,b两个数,第一次调用process时求出a与b的和,第二次求出a与b的差,第三次求出a与b的积。

#include<stdio.h>
int main()
{int add(int x,int y);
 int sub(int x,int y);
 int multi(int x,int y);
 int process(int (*f)(int,int),int x,int y);
 int a,b,c;
 printf("Input a and b:");
 scanf("%d%d",&a,&b);
 c=process(add,a,b);
 printf("%d+%d=%d\n",a,b,c);
 c=process(sub,a,b);
 printf("%d-%d=%d\n",a,b,c);
 c=process(multi,a,b);
 printf("%d*%d=%d\n",a,b,c);
return 0;
}
int add(int x,int y)
{int z;
 z=x+y;
 return (z);
}
int sub(int x,int y)
{int z;
 z=x-y;
 return (z);
}
int multi(int x,int y)
{int z;
 z=x*y;
 return (z);
}
int process(int (*f)(int,int),int x,int y)
{int z;
 z=(*f)(x,y);
 return (z);
}

运行结果
在这里插入图片描述
下一篇
指针14(指向函数的指针作函数参数2)

猜你喜欢

转载自blog.csdn.net/weixin_43918004/article/details/85124731
今日推荐