stdarg.c
#include <stdio.h>
#include <stdarg.h>
double average(double v1, double v2, ...)
{
va_list parg;
double sum = v1 + v2;
double value = 0.0;
int count = 2;
va_start(parg, v2);
while ((value = va_arg(parg, double)) != 0.0)
{
sum += value;
++count;
}
va_end(parg);
return sum / count;
}
int main()
{
double ave = average(1.0, 2.0, 3.0, 4.0, 5.0, 0.0);
printf("average: %f\n", ave);
}