blob: 8f723a5db70826923bbf919202adecba22cddd4c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <stdarg.h>
/* Each argument after n arrives promoted, so va_arg reads int or double. */
int sum_ints(int n, ...) {
va_list ap;
int total = 0;
va_start(ap, n);
for (int i = 0; i < n; ++i) total += va_arg(ap, int);
va_end(ap);
return total;
}
double sum_doubles(int n, ...) {
va_list ap;
double total = 0;
va_start(ap, n);
for (int i = 0; i < n; ++i) total += va_arg(ap, double);
va_end(ap);
return total;
}
|