#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;
}