参数数量可变的函数
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<stdarg.h>
int fun(int num, ...) //...代表可变参数定义
{
int i;
int result;
int sum=0;
va_list parg; //va_list原型是char *类型
va_start(parg,num); //获得第一次参数num,即后面可变参的数量
for(i=0;i<num;i++)
{
result = va_arg(parg,int);
sum+=result;
printf("result=%d\n",result);
}
va_end(parg); //置空指针
return sum;
}
int _tmain(int argc, _TCHAR* argv[])
{
printf("%d\n",fun(6,2,3,4,100,500,900));
system("pause");
return 0;
}