当前位置: 首页 > news >正文

C语言基础之函数指针4

函数指针

格式:返回值类型 (*指针名)(形参列表)

作用:利用函数指针,可以动态的调用函数

#include<stdio.h>
void method1();
int method2(int num1, int num2);
int main() {//函数指针//定义两个指针指向两个函数void (*p1)() = method1;int (*p2)(int int) = method2;//利用函数指针去调用函数p1();int num = p2(10, 20);printf("%d\n", num);return 0;		}
void method() {printf("method1\n");}
int method2(int num1, int num2) {printf("method2\n");return num1 + num2;
}

练习:

定义:+,-, *,/四个数字(1,2,3,4)
用户输入三个数字:前两个表示参与计算的数字,第三个表示调用的函数
#include<stdio.h>
int add(int num1, int num2){return num1 + num2;
}
int substract(int num1, int num2){return num1 - num2;
}
int mutiply(int num1, int num2){return num1 * num2;
}
int divide(int num1, int num2){return num1 / num2;
}
int main(){
//定义一个数组去装四个函数的指针
//函数指针数组
int (arr[4])(int, int) = {add, substract, mutiply, dicide};
//输入
int num1;
int num2;
scanf("%d%d", &num1, &num2);
int choose;
scanf("%d", &choose);
int res = (arr[choose - 1])(num1, num2);
printf("%d\n", res);
return 0;
}

http://www.dtcms.com/a/564953.html

相关文章:

  • 深入浅出 Java 虚拟机之进阶部分
  • 医疗保健|医疗养老|基于Java+vue的医疗保健系统(源码+数据库+文档)
  • 网站建设方案书组网方案网站攻击
  • Python循环
  • 基于自适应傅里叶分解(AFD)及其改进算法的信号分解与重构实现
  • Linux Shell awk
  • iBM(i2)图表数据优化及重点人员分析(三)
  • 做两个一摸一样的网站有没有专门做家乡图片的网站
  • Ubuntu 22.04 离线升级 OpenSSH 到 9.8p1
  • Dify 插件开发与打包教程 (Mac)
  • FastMCP 入门:用 Python 快速搭建 MCP 服务器接入 LLM
  • 常见DGX A100服务器维修故障问题及解决方法
  • Linux系统编程——exec函数族
  • 简单搭建express服务器
  • 设置网站建设大连专业网站设计服务商
  • Ollama + Open WebUI
  • 张家界市建设工程造价管理站网站好看的ui界面
  • 【WEB应用安全】XSS攻击实验全流程实战!从漏洞检测到Cookie窃取(附Payload解析+避坑指南)
  • Linux系统启动流程深度解析:从BIOS到用户空间的全链路指南
  • AI编程工具TRAE解决日常问题之SQLite数据复制
  • 百度网盘下载速度被限制怎么办?百度网盘如何解除限速下载方法
  • 多协议网关架构
  • 深入级联不稳定性:从 Lipschitz 连续性视角探讨图像恢复与目标检测的协同作用
  • 如何实现html显示WebRTC视频监控流
  • 长沙网站设计服务商wordpress和vue
  • DeepSeek-OCR 深度解析
  • [手机AI开发sdk] Aid_code IDE | PC浏览器同步访问
  • 视觉语言模型(VLM)深度解析:如何用它来处理文档
  • 空载长线电容效应
  • Text Grab,一款OCR 截图文字识别工具