一、代码
主要使用:
#include <stdarg.h>
...
va_list
void va_start(va_list ap, last);
type va_arg(va_list ap, type);
void va_end(va_list ap);
第一个参数c,用来指定参数的个数。
#include <stdio.h>
#include <stdarg.h>
int sum(int c, ...) {
int i = c;
int sum = 0;
va_list ap;
va_start(ap, c);
printf("c:%d\n",c);
while (i>0) {
sum += va_arg(ap,int);
i--;
}
va_end(ap);
return sum;
}
int main(int argc, char* argv[])
{
printf("sum:%d\n", sum(6, 1,2,3,4,5,10));
return 0;
}
二、运行结果