指向函数的指针变量作为函数参数有什么好处?

来源:百度知道 编辑:UC知道 时间:2024/05/08 03:58:30
书上给了个例子,但还是看不懂有什么好处?
#include<stdio.h>

float add(float x,float y)
{return (x+y);}
float sub(float x,float y)
{return (x-y);}
float mul(float x,float y)
{return (x*y);}
float div(float x,float y)
{return (x/y);}

float result(float x,float y,float(*pf)(float,float))
{
float s;
s=(*pf)(x,y);
return s;
}

void main()
{
float a,b,s;
char op;
printf(""please select your operation (input +,-,*or/)\n");
scanf("%c",&op);
printf("please input the two operand\n");
scanf("%f %f",&a,&b);
switch(op)
{
case '+':s=result(a,b,add);break;
case '-':s=result(a,b,sub);break;
case '*':s=result(a,b,mul);break;
case '/':s=result(a,b,div);break;
}
printf("the operation is :%f%c%f=%

灵活。
实际上我觉得如果作参数不用指针的话,还真不知道怎么解决。
参数传递一般就是传值和传址两种方式,作为函数的话,好像都想不出怎么传值。
我理解所谓指向函数的指针就是这个函数的入口地址。直接就跳转到那个地址去执行了。