#include <stdio.h>
#include <stdarg.h>
int sum(int total_arguments, ... );
int main(int argc, char **argv)
{
printf("sum = %d\n", sum(4, 10, 20, 30, 40));
printf("sum = %d\n", sum(3, 9, 11, 77));
return(0);
}
int sum(int total_arguments, ... )
{
va_list arguments;
int sum = 0, i;
va_start (arguments, total_arguments); // Save all values after total_arguments
for (i = 0; i < total_arguments; i++)
sum += va_arg(arguments, int);
va_end(arguments); // Clear the list
return sum;
}
/*
run:
sum = 100
sum = 97
*/