C语言提高:函数指针做函数参数

落日映苍穹つ 2023-01-23 08:00 326阅读 0赞

文章目录

  • 题目
  • 知识回顾
  • 代码

题目

请构造一个接口函数,实现对两个整数执行某种操作,该操作由调用者
实现。

要求:测试案例对两个整数进行加减运算

知识回顾

函数指针的三种定义与使用方式:
https://yangyongli.blog.csdn.net/article/details/118711459

代码

在这里插入图片描述

  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5. // 加法计算器
  6. int plus(int a, int b)
  7. {
  8. return a + b;
  9. }
  10. // 减法计算器
  11. int minus(int a, int b) {
  12. return a - b;
  13. }
  14. // 用两种方法使用函数指针作为参数
  15. // 1.函数指针直接当参数
  16. int caculator_1(int a,int b ,int(*func)(int,int)) {
  17. return func(a,b);
  18. }
  19. // 2.指针变量当参数
  20. typedef int(*FUNC_POINTER)(int ,int);
  21. int caculator_2(int a, int b, FUNC_POINTER func) {
  22. return func(a, b);
  23. }
  24. int main()
  25. {
  26. printf("第一种方法:\n");
  27. int plu = caculator_1(10, 20, plus);
  28. printf("10 与 20 的加法结果 = %d\n", plu);
  29. int minu = caculator_1(20, 10, minus);
  30. printf("20 与 10 的减法结果 = %d\n", minu);
  31. printf("第二种方法:\n");
  32. int plu2 = caculator_2(10, 20, plus);
  33. printf("10 与 20 的加法结果 = %d\n", plu);
  34. int minu2 = caculator_2(20, 10, minus);
  35. printf("20 与 10 的减法结果 = %d\n", minu);
  36. return 0;
  37. }

发表评论

表情:
评论列表 (有 0 条评论,326人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C语言 指针函数参数

    指针参数         指针参数:指针参数使得被调用的函数能够访问和修改主调函数中对象的值。 由于C语言是以传值的方式将参数的值传递给被调用函数,因此,被调用函数不能