可变参数列表的实现--平均值
来源:互联网 发布:新闻app源码 编辑:程序博客网 时间:2024/06/11 14:26
可变参数列表的实现--平均值
c语言中用可变参数列表的原因:
cpp文件中参数可以初始化,则实参中用几个参数写几个,但是c中形参不可以初始化,所以引出可变参数列表,头文件为stdarg.h,使用宏stdarg
va_list类型 arg声明的变量名 eg:va_list arg //访问参数列表未确定部分
宏stdarg使用了三种宏 :
va_start(arg,val)初始化 //将arg_ptr设置为传递给该函数参数列表的第一个可选参数,\val已确定参数列表最后一个参数
va_arg(arg,int)读取 //arg_ptr给出的位置检索type的值,并将arg_ptr指向列表\
中的下一个参数,使用type的范围确定下一个参数的类型。int是下一个参数的类型
va_end(arg)结束 //重置指向NULL的指针
<span style="font-size:18px;">#include<stdio.h>#include<stdarg.h>double average(int val,...){va_list arg;double sum=0.0;int i=0;va_start(arg,val);for(i=0;i<val;i++){sum+=va_arg(arg,int);}va_end(arg);return sum/val;}int main(){double ret=average(6,1,2,3,4,5,7);printf("%f\n",ret);return 0;}</span>
测试结果如下图:ret = (1+2+3+4+5+7)/6
说起可变参数列表我们可以想到printf函数:
如下是函数printf的实现:
#include <stdio.h>#include<stdarg.h>int printf(char* format, ...){va_list arg;va_start(arg, format);int n;n = vprintf(format, arg);va_end(arg);fprintf(stdout, "\n");return n;}int main(){char* aaa = "hello world!";printf(aaa);return 0;}
1 0
- 可变参数列表的实现--平均值
- 用可变参数列表实现求n个数的平均值
- 使用可变参数列表实现求平均值的函数
- 使用可变参数列表实现任意个数求平均值
- 可变参数列表求任意多个数的平均值
- 使用可变参数,实现函数,求函数参数的平均值
- 使用可变参数,实现函数,求函数参数的平均值
- 可变参数列表的实现
- 可变参数列表的实现
- 用可变参数列表求平均值
- 可变参数列表求最大值与平均值
- 利用可变参数实现求平均值
- 可变参数列表的简单实现
- [C语言]利用可变参数列表求平均值。
- 使用可变参数,实现函数,求函数参数的平均值和最大值
- 可变参数列表的宏和<stdarg.h>实现函数的可变参数列表
- 可变参数列表函数实现
- 可变参数列表函数实现
- 如何解决Greenplum master node与seg node元数据不一致
- Trace命令的实现
- wxWidgets中OpenGL渲染环境的配置,主要解决不能显示物体阴影问题
- hive实例讲解实现in和not in子句
- POJ 1469 COURSES
- 可变参数列表的实现--平均值
- PowerDesigner15.1使用技巧(二)--如何找到官方资源
- Spring MVC之@RequestBody, @ResponseBody 详解
- 表格
- 我的理想,我的奋斗目标
- 美团推荐算法实践:机器学习重排序模型成亮点
- 九章算法面试题12 最大子区间/矩阵
- mysql的基本操作
- 1393 - Highways(问题抽象)(容斥原理计数)