摘抄自:http://www.runoob.com/cprogramming/c-variable-arguments.html
#include <stdio.h>
#include <stdarg.h>
double average(int num, ...){
va_list valist; //用来保存va_start, va_arg, va_end
double sum = 0.0;
int i;
va_start(valist, num); //为num个参数初始化valist
for(i=0; i<num; i++){
sum += va_arg(valist, int); //访问valist中每个项
}
va_end(valist); //清理为valist保留的内存
return sum/num;
}
int main(){
printf("Average of 2, 3, 4, 5 = %f\n", average(4, 2,3,4,5)); //4:可变参总个数 2,3,4,5:每个可变参值
return 0;
}