C言語のstdargが難しいので、自分なりのサンプルを作成してみました。man stdarg
でstdargライブラリのマニュアルも合わせてご確認ください。
#include <stdio.h>
#include <stdarg.h>
int sum(int num1, ...) {
va_list list;
int n;
int sum = num1;
if (sum == 0) return 0;
va_start(list, num1);
while (1) {
n = va_arg(list, int);
if (n == 0) break;
sum += n;
}
va_end(list);
return sum;
}
int main() {
int res = sum(1,2,3,4,5,6,7,8,9,10,0);
printf("sum = %d\n", res);
return 0;
}