va_start acepta como parámetro el último parámetro antes de la lista variable.
va_arg necesita el tipo del parámetro que hay que devolver.
va_end libera los recursos usados para la lectura de parámetros.
#include <stdio.h>
#include <stdarg.h>
int sumatorio(int howmany, ...){
int i;
int total = 0;
va_list ap;
va_start(ap, howmany);
for (i=0; i<howmany; i++)
total+=va_arg(ap, int);
va_end(ap);
return total;
}
int main(){
printf("%d\n", sumatorio(4, 1,2,3,4));
}
0 comentarios:
Publicar un comentario