#include <stdarg.h>
#include <stdio.h>
int sum(int args, ...);
int sum(int args, ...) { // 三个圆点为占位符
int i = 0;
int sum = 0;
va_list vap;//定义参数列表
va_start(vap, args);//初始化参数列表,args为第一个参数的名字 代表了多少个
for (i = 0; i < args; ++i) {
sum += va_arg(vap, int);//获取参数值
}
va_end(vap);//关闭参数列表
return sum;
}
int main()
{
int result = sum(2, 2, 3);
printf("sum = %d\n", result);
result = sum(3, 2, 3, 4, 5);
printf("sum = %d\n", result);
return 0;
}