Uncertain / variable number of parameters. To process such a function, you should use functions like va_list and va_start, va_arg and va_end:
An example taken from here :
#include <stdlib.h> #include <stdarg.h> #include <stdio.h> int maxof(int, ...) ; void f(void); main(){ f(); exit(EXIT SUCCESS); } int maxof(int n args, ...){ register int i; int max, a; va_list ap; va_start(ap, n args); max = va_arg(ap, int); for(i = 2; i <= n_args; i++) { if((a = va_arg(ap, int)) > max) max = a; } va_end(ap); return max; } void f(void) { int i = 5; int j[256]; j[42] = 24; printf("%d\n",maxof(3, i, j[42], 0)); }
More here
Ando
source share