题目
请构造一个接口函数,实现对两个整数执行某种操作,该操作由调用者实现。
要求:测试案例对两个整数进行加减运算
知识回顾
函数指针的三种定义与使用方式:
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; }