#include
int add(int a, int b)
{
return a+b;
}
int sub(int a, int b)
{
return a-b;
}
int mul(int a,int b)
{
return a*b;
}
int process(int (*fun)(int,int), int a, int b)
{
return fun(a,b);
}
int main()
{
int a,b,r;
printf("输入a、b两数:\n");
scanf("%d%d",&a,&b);
printf("两数之和:%d\n", process(add,a,b));
printf("两数之差:%d\n", process(sub,a,b));
printf("两数之积:%d\n", process(mul,a,b));
}
思路:函数指针数组可以实现这个,ptr++跳到下一个函数去执行了。你自己去实现下试试,不行再来问问
#include
int add(int m,int n)
{return m+n;}
int sub(int m,int n)
{return m-n;}
int mul(int m,int n)
{return m*n;}
int process(int(*p)(int ,int),int m,int n)
{
return p(m,n);
}
main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d\n",process(add,m,n));
printf("%d\n",process(sub,m,n));
printf("%d\n",process(mul,m,n));
return 0;
}希望能帮到你,哪里不清楚再问。
我的运行没错,复制到记事本中先,望采纳!
第三条啊。。。干嘛非要用指针啊啊啊啊啊啊啊