C语言:编写一个函数,在数函数中调用它时,每次实现不同的功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言:编写一个函数,在数函数中调用它时,每次实现不同的功能相关的知识,希望对你有一定的参考价值。

编写一个函数,在数函数中调用它时,每次实现不同的功能,第一次调用求两个数之和,第二次调用求两个数之差,第三次调用求两个数之积。
要求
(1) 在主函数中输入2个数a,b,并输出a,b的和、差、积。
(2) 分别编写函数add(),sub(),mul()计算两个数的和、差、积。
(3) 用指向函数的指针作为参数,编写函数process(),实现对add(),sub(),mul()的调用

#include <stdio.h>
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()实现交换两个数位置的功能

C语言 编写递归函数

C语言,主函数调用一个随机函数,让每次循环调用的值都不一样

用c语言编程编写函数,实现把一个字符串连接到后面一个字符串。并编写程序,在程序中自定义一个字符串数组

C语言中。如果编写了一个函数,想在不同源文件中调用。

matlab中的plot函数怎样在c语言中实现