可变参数函数,c primer plus 第16章最后一节,560页
#include<stdio.h>
#include<stdarg.h> //可变参数包含的头文件
int sum(int num, ...); //可变参数函数
int main()
{
int ans = sum(3, 1, 2, 3);
int aans = sum(5, 1, 2, 3, 4, 5);
printf("%d\n%d\n", ans, aans);
}
//可变参数函数
int sum(int num, ...)
{
int count;
int ans=0;
int x;
va_list ap; //创建一个容器ap
va_start(ap, num); //ap中有num个数据元素
for (count = 0; count < num;count++)
{
x = va_arg(ap, int); //按顺序取出ap中的元素
ans += x;
printf("%d ", x);
}
printf("\n");
va_end(ap); //清理工作,释放ap内存
return ans;
}