早教吧 育儿知识 作业答案 考试题库 百科 知识分享

请设计一个函数process(),在每次被主函数调用时完成不同的功能.求大神帮忙:1.请设计一个函数process(),在每次被主函数调用时完成不同的功能。要求输入a和b两个数,第一次调用process()时求

题目详情
请设计一个函数process(),在每次被主函数调用时完成不同的功能.
求大神帮忙:1. 请设计一个函数process(),在每次被主函数调用时完成不同的功能。要求输入a和b两个数,第一次调用process()时求出a和b中较大的数,第二次调用时求出较小的数,第三次调用时求出两数之和。
▼优质解答
答案和解析

估计你们学过指针了吧,指向函数的指针变量的一个重要用途就是把函数的地址作为参数传递到其它函数。

#include <stdio.h>
int max(int a,int b)
{
return (a>b?a:b);
}
int min(int a,int b)
{
return (a<b?a:b);
}
int add(int a,int b)
{
return a+b;
}
int process(int a,int b,int (*fun)(int,int))
{
    return (*fun)(a,b);
}
int main()
{int a,b;
    printf("输入a和b:\n");
    scanf("%d%d",&a,&b);
    printf("较大值=%d\n", process(a,b,max));
    printf("较小值=%d\n", process(a,b,min));
    printf("两数和=%d\n", process(a,b,add));
return 0;
}