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

c语言之函数指针作形参

在一些c语言的大工程中,会在定义的函数中,把一些其他函数指针作为本函数形参。

函数指针作形参的例子

代码如下:

#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 ff(int a,int b,int(*p)(int,int))

{

int r;

r=(*p)(a,b);

return r;

}

 

int main()

{

int a,b,c,r;

int(*p)(int,int);

puts("请输入a的值:");

scanf("%d",&a);

puts("请输入b的值:");

scanf("%d",&b);

printf("请选择1号方案还是2号方案:");

scanf("%d",&c);

if(c==1) p=max;

if(c==2) p=min;

r=ff(a,b,(*p));

printf("%d\n",r);

return 0;

}

在上面代码中,分别定义了三个函数,分别是max函数,min函数,ff函数

其中ff函数形参中有一个函数指针。

在main函数执行的代码块中,分别定义了a,b,c,r四个变量。

a和b,还有c的值需要外部输入。同时定义了一个函数指针p

在if条件分支语句中,如果c的值为1,指针p会引向函数max,如果c的值为2,指针p会引向函数min。

最后是执行ff函数。如果c的值为1,ff函数会引用max函数,输出最大值。如果c的值为2,ff函数会引用min函数,输出最小值。

 

http://www.lryc.cn/news/330895.html

相关文章:

  • python文件的读取操作
  • 查看并设定【网络适配器】的优先级(跃点数)
  • 深入理解 Hadoop 上的 Hive 查询执行流程
  • JS封装网页进入/退出全屏功能,兼容各大主流浏览器
  • el-table的复选框勾选整行变色
  • 一步一步写线程之八线程池的完善之二数据结构封装
  • go连接数据库(原生)
  • 【C语言】2048小游戏【附源码】
  • 部署项目遇到的各种问题总结
  • JavaSE:抽象类和接口
  • 发票是扫码验真好,还是OCR后进行验真好?
  • 【AIGC调研系列】AIGC+Jmeter实现接口自动化测试脚本生成
  • 前端|babel升级
  • 【微服务】spring状态机模式使用详解
  • 【算法刷题day14】Leetcode:144.二叉树的前序遍历、94.二叉树的中序遍历、145.二叉树的后序遍历
  • mysql闲谈
  • 物联网学习1、什么是 MQTT?
  • 【机器学习】数据探索(Data Exploration)---数据质量和数据特征分析
  • 软件测试(一)--简介+主流技能+分类+模型+流程
  • 技术引领,策略升级:腾讯云与你共探数字金融新篇章
  • 数据库-root密码丢失的重置方案(win11环境)
  • 免试生常问的一些问题汇总---专升本学习篇
  • FPGA的就业前景
  • 7.阻塞模式与非阻塞模式
  • Unity类银河恶魔城学习记录11-10 p112 Items drop源代码
  • EasyExcel 模板导出excel、合并单元格及单元格样式设置。 Freemarker导出word 合并单元格
  • 炫我科技:云渲染领域的佼佼者
  • VsCode正确解决vue3+Eslint+prettier+Vetur的配置冲突
  • 计算机网络—VLAN 间路由配置
  • 微服务篇-C 深入理解第一代微服务(SpringCloud)_VII 深入理解Swagger接口文档可视化管理工具