要点:用函数的入口地址作为参数传递到其他函数。这样子可以实现对函数的调用,这是函数除了函数名调用以外的第二种调用方式
#include <stdio.h>
#include <math.h>
int add(int a ,int b)
{
return a+b;
}
int subtraction(int a,int b)
{
return abs(a-b);
}
int Multiply(int a,int b)
{
return a*b;
}
int Divison(int a,int b)
{
return a/b;
}
int Function(int x,int y,int(*p)(int x,int y))
{
printf("选择的结果%d\n",(*p)(x,y));
}
void main()
{
int a=4,b=2;
int c;
scanf("%d",&c);
switch(c)
{ //输入为1时调用add函数,下面对应类似
case 1: Function(a,b,add);break;
case 2: Function(a,b,subtraction);break;
case 3: Function(a,b,Divison);break;
case 4: Function(a,b,Multiply);break;
default:printf("输入错误");break;
}
}
输入结果:2
选择的结果2
Process returned 12 (0xC) execution time : 2.048 s
Press any key to continue.