C 语言下的 可变参数列表函数实现
2015-03-11 23:09
357 查看
#include<stdio.h>
#include<stdarg.h>
float average(int val,...)
{
va_list arg;
int count;
float sum=0;//准备访问可变参数
va_start(arg,val);//添加取自可变参数的值
for(count = 0;count<val;count++)
{
sum+=va_arg(arg,int);
}//完成处理可变参数
va_end(arg);
return sum / val;
}
//.c 文件不支持重载,所以下面函数,不可以缺省形参,且形参个数要一致,.cpp文件则不然
/*int average(int n,int a = 0,int b = 0,int c = 0,int d = 0)
{
if(n == 1)
return a;
if(n == 2)
return (a+b)/n;
if(n == 3)
return (a+b+c)/n;
if(n == 4)
return (a+b+c+d)/n;
return 0;
}*/
int main()
{
printf("%f\n",average(5,1,2,3,5,6));
return 0;
}
#include<stdarg.h>
float average(int val,...)
{
va_list arg;
int count;
float sum=0;//准备访问可变参数
va_start(arg,val);//添加取自可变参数的值
for(count = 0;count<val;count++)
{
sum+=va_arg(arg,int);
}//完成处理可变参数
va_end(arg);
return sum / val;
}
//.c 文件不支持重载,所以下面函数,不可以缺省形参,且形参个数要一致,.cpp文件则不然
/*int average(int n,int a = 0,int b = 0,int c = 0,int d = 0)
{
if(n == 1)
return a;
if(n == 2)
return (a+b)/n;
if(n == 3)
return (a+b+c)/n;
if(n == 4)
return (a+b+c+d)/n;
return 0;
}*/
int main()
{
printf("%f\n",average(5,1,2,3,5,6));
return 0;
}
相关文章推荐
- 将参数字符串中的字符反向排列(递归实现),可变参数列表函数实现
- C中可变参数列表函数的实现
- 可变参数列表的剖析以及printf函数的实现
- 可变参数列表及printf函数的实现
- 可变参数列表及printf函数的实现
- C 语言中函数可变参数列表
- 可变参数列表的宏和<stdarg.h>实现函数的可变参数列表
- c语言,可变参数列表实现任意个数求平均值
- 可变参数列表及printf函数的实现
- C使用 stdarg 宏来实现函数的可变参数列表
- 可变参数列表函数实现
- 可变参数列表函数实现
- 可变参数 函数(可变参列表—2) 实现小型日志文件
- C语言之利用可变参数列表实现简易的printf
- 可变参数列表实现机制与printf()函数源码分析
- 【C语言】printf函数的简单实现(可变参数列表)
- 利用可变参数列表简单实现printf函数的功能
- 创建函数利用可变参数列表的形式模拟实现printf的功能
- 可变参数列表及printf函数的实现
- C语言实现参数个数可变的函数(转)