Andrei Pall

Linux Software Engineering

Functions with variable number of arguments

Functions with variable number of arguments:

#include <stdio.h>
#include <stdarg.h>

int sum(int n, ...)
{
	int res = 0;
	va_list args;
	
	va_start(args, n);
	
	for (int i=0; i<n; i++)
	{
		int v = va_arg(args, int);
		res += v;
	}
	
	va_end(args);
	
	printf("%d\n", res);
	
	return res;
}

int main()
{
	sum(3, 1, 2, 3);
	sum(2, 1, 2);
	return 0;
}