PPT8-14 指向函数的指针作为函数参数.pdf

上传人:奉*** 文档编号:4222336 上传时间:2021-06-13 格式:PDF 页数:14 大小:558.26KB
返回 下载 相关 举报
PPT8-14 指向函数的指针作为函数参数.pdf_第1页
第1页 / 共14页
PPT8-14 指向函数的指针作为函数参数.pdf_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《PPT8-14 指向函数的指针作为函数参数.pdf》由会员分享,可在线阅读,更多相关《PPT8-14 指向函数的指针作为函数参数.pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、指向函数的指针作为函数参数 实例8.10定义长度为12的double 数组,数组存储数据如下: double a=1.5,3.8,5.6,7.8,91.6,1.61,13 .3,15.0,17.5,19.9,21.7,23.0; 函数指针案例讲解 编写函数实现下面的功能。 (1)求数组全部的元素值之和; (2)求数组元素中的最大值; (3)求下标为奇数的数组元素之和; (4)求各元素的平均值。 函数指针案例讲解 解题思路:分别设计4个函数实现上 述4个功能,使4个函数具有相同的 返回值类型、参数个数、参数顺序和 参数类型,唯一不同的就是函数的名 字和函数的具体实现,这样就可以使 用唯一个函数指

2、针先后调用这4个函 数实现题目要求。 函数指针案例讲解 arr_add(double arr,int n) odd_add(double arr,int n) arr_ave(double arr,int n) arr_max(double arr,int n) #include #define N 12 double arr_add(double arr,int n) double arr_max(double arr,int n) double odd_add(double *p, int n) double arr_ave(double *p,int n) arr_add(double

3、arr,int n) odd_add(double arr,int n) arr_ave(double arr,int n) arr_max(double arr,int n) void process(double *p,int n,double (*fun)(double *,int ) double result; result = (*fun)(p,n); printf(%8.2lfn,result); 123101112 a process(a,N,arr_add); a12arr_add 返回数组各元素之和,在 process中打印 arr_add(double arr,int n

4、) odd_add(double arr,int n) arr_ave(double arr,int n) arr_max(double arr,int n) void process(double *p,int n,double (*fun)(double *,int ) double result; result = (*fun)(p,n); printf(%8.2lfn,result); 123101112 a process(a,N,arr_max); a12arr_max 返回数组各元素的最大值, 在process中打印 arr_add(double arr,int n) odd_a

5、dd(double arr,int n) arr_ave(double arr,int n) arr_max(double arr,int n) void process(double *p,int n,double (*fun)(double *,int ) double result; result = (*fun)(p,n); printf(%8.2lfn,result); 123101112 a process(a,N,odd_add); a12odd_add 返回数组奇数下标元素之和, 在process中打印 arr_add(double arr,int n) odd_add(dou

6、ble arr,int n) arr_ave(double arr,int n) arr_max(double arr,int n) void process(double *p,int n,double (*fun)(double *,int ) double result; result = (*fun)(p,n); printf(%8.2lfn,result); 123101112 a process(a,N,arr_ave); a12arr_ave 返回数组各元素的平均值, 在process中打印 arr_add(double arr,int n) odd_add(double arr

7、,int n) arr_ave(double arr,int n) arr_max(double arr,int n) void process(double *p,int n,double (*fun)(double *,int ) double result; result = (*fun)(p,n); printf(%8.2lfn,result); 123101112 a process(a,N,pt); a12pt 返回数组各元素之和,在 process中打印 double (*pt)(double *,int); pt = arr_add; pt arr_add(double arr

8、,int n) odd_add(double arr,int n) arr_ave(double arr,int n) arr_max(double arr,int n) void process(double *p,int n,double (*fun)(double *,int ) double result; result = (*fun)(p,n); printf(%8.2lfn,result); a12pt 返回数组各元素的最大值, 在process中打印 123101112 a process(a,N,pt); double (*pt)(double *,int); pt = ar

9、r_max; pt arr_add(double arr,int n) odd_add(double arr,int n) arr_ave(double arr,int n) arr_max(double arr,int n) void process(double *p,int n,double (*fun)(double *,int ) double result; result = (*fun)(p,n); printf(%8.2lfn,result); a12pt 返回数组奇数下标元素之和, 在process中打印 123101112 a process(a,N,pt); double

10、 (*pt)(double *,int); pt = odd_add; pt arr_add(double arr,int n) odd_add(double arr,int n) arr_ave(double arr,int n) arr_max(double arr,int n) void process(double *p,int n,double (*fun)(double *,int ) double result; result = (*fun)(p,n); printf(%8.2lfn,result); a12pt 返回数组各元素的平均值, 在process中打印 123101112 a process(a,N,pt); double (*pt)(double *,int); pt = arr_ave; pt 解决问题 这就是指向函数的指针作为函数参数。同学们,你们学 会了吗?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁