#include <stdio.h>
#include <stdarg.h>
double fun(int va_num,...)
{
double d1=1,d2=2,d3=3; //设置参数的默认值
double tmp;
int i;
va_list va_args;
va_start(va_args,va_num);
for (i=0; i<va_num;++i ) //此处还应该判断是否超出了参数的个数,在本示例中需判断i<3.
{
tmp=va_arg(va_args,double);
switch(i)
{
case 0:
d1=tmp;
break;
case 1:
d2=tmp;
break;
case 2:
d3=tmp;
break;
}
}
va_end(va_args);
printf("d1:%f d2:%f d3:%f /n",d1,d2,d3);
}
int main(void)
{
fun(0);
fun(1,(double)10);
fun(2,(double)10,(double)20);
fun(3,(double)10,(double)20,(double)30);
return 0;
}