C语言:编写一个函数,在数函数中调用它时,每次实现不同的功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言:编写一个函数,在数函数中调用它时,每次实现不同的功能相关的知识,希望对你有一定的参考价值。
编写一个函数,在数函数中调用它时,每次实现不同的功能,第一次调用求两个数之和,第二次调用求两个数之差,第三次调用求两个数之积。
要求
(1) 在主函数中输入2个数a,b,并输出a,b的和、差、积。
(2) 分别编写函数add(),sub(),mul()计算两个数的和、差、积。
(3) 用指向函数的指针作为参数,编写函数process(),实现对add(),sub(),mul()的调用
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));
追问
对了
参考技术A 思路:函数指针数组可以实现这个,ptr++跳到下一个函数去执行了。你自己去实现下试试,不行再来问问 参考技术B #include<stdio.h>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;
希望能帮到你,哪里不清楚再问。
我的运行没错,复制到记事本中先,望采纳! 参考技术C 第三条啊。。。干嘛非要用指针啊啊啊啊啊啊啊
以上是关于C语言:编写一个函数,在数函数中调用它时,每次实现不同的功能的主要内容,如果未能解决你的问题,请参考以下文章
求一个C语言程序题:编写一个函数SWAP()实现交换两个数位置的功能