题目
请构造一个接口函数,实现对两个整数执行某种操作,该操作由调用者
实现。
要求:测试案例对两个整数进行加减运算
知识回顾
函数指针的三种定义与使用方式:
https://yangyongli.blog.csdn.net/article/details/118711459
代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// 加法计算器
int plus(int a, int b)
{
return a + b;
}
// 减法计算器
int minus(int a, int b) {
return a - b;
}
// 用两种方法使用函数指针作为参数
// 1.函数指针直接当参数
int caculator_1(int a,int b ,int(*func)(int,int)) {
return func(a,b);
}
// 2.指针变量当参数
typedef int(*FUNC_POINTER)(int ,int);
int caculator_2(int a, int b, FUNC_POINTER func) {
return func(a, b);
}
int main()
{
printf("第一种方法:\n");
int plu = caculator_1(10, 20, plus);
printf("10 与 20 的加法结果 = %d\n", plu);
int minu = caculator_1(20, 10, minus);
printf("20 与 10 的减法结果 = %d\n", minu);
printf("第二种方法:\n");
int plu2 = caculator_2(10, 20, plus);
printf("10 与 20 的加法结果 = %d\n", plu);
int minu2 = caculator_2(20, 10, minus);
printf("20 与 10 的减法结果 = %d\n", minu);
return 0;
}