可变参数的函数
来源:互联网 发布:车道识别算法 编辑:程序博客网 时间:2024/04/27 22:44
#include "stdafx.h"
#include <iostream>
#include <stdarg.h>
using namespace std;
float average(int n_Values, ...)//,n_Values相当于一个参数数量,省略号表示参数列表的未确定部分
{
va_list var_age;//声明一个va_list变量,相当于一个迭代器,一次访问未知参数的各个值
int count;
float sum = 0;
va_start(var_age, n_Values);//用于初始化var_age,va_start的第一个参数是用于迭代的va_list,第二个参数是省略号前最后一个有名字的参数即表示它后面的部分都是未知参数,初始化后把var_age指向第一个可变参数部分的第一个参数
for (count = 0; count < n_Values;count++)
{
sum += va_arg(var_age, int);//va_arg第一个参数是va_list的迭代器第二个参数是参数列表中下一个参数的类型(在有些函数中,你可能需要由前面一个参数的值来判断写一个参数的类型),va_age返回这个值,并使var_age指向下一个可变参数
}
va_end(var_age);//当访问完毕最后一个可变参数之后就会调用va_end函数。
return sum / n_Values;
}
int main()
{
cout << average(5, 1, 2, 3, 4, 5,6) << endl;
return 0;
#include <iostream>
#include <stdarg.h>
using namespace std;
float average(int n_Values, ...)//,n_Values相当于一个参数数量,省略号表示参数列表的未确定部分
{
va_list var_age;//声明一个va_list变量,相当于一个迭代器,一次访问未知参数的各个值
int count;
float sum = 0;
va_start(var_age, n_Values);//用于初始化var_age,va_start的第一个参数是用于迭代的va_list,第二个参数是省略号前最后一个有名字的参数即表示它后面的部分都是未知参数,初始化后把var_age指向第一个可变参数部分的第一个参数
for (count = 0; count < n_Values;count++)
{
sum += va_arg(var_age, int);//va_arg第一个参数是va_list的迭代器第二个参数是参数列表中下一个参数的类型(在有些函数中,你可能需要由前面一个参数的值来判断写一个参数的类型),va_age返回这个值,并使var_age指向下一个可变参数
}
va_end(var_age);//当访问完毕最后一个可变参数之后就会调用va_end函数。
return sum / n_Values;
}
int main()
{
cout << average(5, 1, 2, 3, 4, 5,6) << endl;
return 0;
}
可变参数列表是通过stdarg,h头文件来实现的,这个头文件定义了一个类型va_list和三个宏--va_start、va_arg和va_end,我们可以声明一个va_list变量取访问参数的值。
0 0
- 可变参数的函数
- 可变参数的函数
- 可变参数的函数
- 函数的可变参数
- 可变参数的函数
- 函数的可变参数
- 可变参数的函数
- 可变参数函数的原理
- 编写可变参数的函数
- 可变参数函数的实现
- 可变数目的函数参数
- 可变参数函数的实现
- 可变参数的C函数
- 参数可变函数的实现
- 参数个数可变的函数
- 可变参数的函数说明
- 可变参数的函数应用
- va_list可变参数的函数
- Java中String的常用方法
- magic method
- 《TCP/IP详解 卷1:协议》第二章 链路层
- TCP、IP、HTTP简介
- Android主题切换(Theme)实现日夜间功能
- 可变参数的函数
- 什么是Mixin模式:带实现的协议
- 3 伪分布式-----Nutch环境搭建和配置
- 将uid 换算为playerid
- Linux内核中断模块之中断处理函数描述
- GYM 100090 G.The Last Wish(水~)
- deviceconsole
- 利用spring session解决共享Session问题
- iOS如何在容器类(如NSMutableSet)中使用弱引用(weak reference)