1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| #include <stdio.h>
#include <stdarg.h>
#include <stddef.h>
static int vsum_int(size_t nb_elem, va_list pArg)
{
int sum = 0;
if (nb_elem != 0)
{
size_t i;
for (i = 0; i < nb_elem; i++)
{
sum += va_arg(pArg, int);
}
}
return sum;
}
static int sum_int (size_t nb_elem, ...)
{
int sum = 0;
va_list pArg;
va_start ( pArg, nb_elem);
sum = vsum_int(nb_elem, pArg);
va_end (pArg);
return sum;
}
int main (void)
{
int somme = sum_int (3, 30, 40, 50);
printf ("La somme est : %d\n", somme);
somme = sum_int (5, 30, 40, 50, 20, 40);
printf ("La somme est : %d\n", somme);
return 0;
} |
Partager