//求平均数
#include<stdio.h>
#include<stdarg.h>
double average(int val,...)
{
va_list arg;
int count;
float sum=0.0;
va_start(arg,val);//准备开始访问可变参数
for(count=0;count<val;count++)
{
sum+=va_arg(arg,int ); //int为读的类型,在该循环中类型要一致
}
va_end(arg);
return sum/val;
}
int main()
{
double ret=average(5,1,2,3,4,5);
printf("%f\n",ret);
return 0;
}
//找最大值
#include<stdio.h>
#include<stdarg.h>
int Max(int val,...)
{
va_list arg;
int max=0;
int i;
va_start(arg,val);
max=va_arg(arg,int); //把读到的第一个数赋给max
for(i=1;i<val;i++)
{
int n=va_arg(arg,int); //从第二个数开始读,逐一与max比较
if(max<n)
{
max=n;
}
}
va_end(arg);
return max;
}
int main()
{
int ret=Max(5,1,5,9,8,7);
printf("%d\n",ret);
return 0;
}
可变参数列表(求平均数,找最大数)
最新推荐文章于 2024-08-06 17:32:12 发布