使用可变参数要要使用
#include <stdarg.h>的头文件,使用里面的宏
va_list vap,定义一个可变参数列表
va_start(vap, n),初始化参数列表vap, 有n个参数。
va_arg(vap, int) ,调用参数表中的参数,参数类型为int。
va_end(vap) , 结束
接下来应用于一个简单的求和函数。
#include <stdio.h>
#include <starg.h>
int sum(int n,...);
int main()
{
int result;
result=sum(4,5,6,7,12,3);//求5+6+7+12+3这四个数字的和
printf("sum=%d",result);
}
int sum(int n,...)
{
va_list(vap,n);//参数列表,n个参数
va_start(vap,n);//初始化参数列表,n个参数
int i;
for(i=0;i<n;i++)
{
sum+=va_arg(vap,int);
}
va_end(vap);//结束
return 0;
}