// fgha.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "stdarg.h"
int test(int num,...);
int main(int argc, char* argv[])
{
printf("Hello World!\n");
test(5,1,2,3,4,5);
return 0;
}
int test(int num,...)
{
va_list ap;
int total=0;
int i=0;
va_start(ap,num);
for(i=0;i<num;i++)
{
total+= va_arg(ap,int);
printf("%d\n",total);
}
va_end(ap);
return 0;
}
总结 主要是一定要包含stdarg.h头文件
va_start(va_list ap,char *)
va_arg(va_list ap,type)
va_end(va_list ap)
这三个分别是宏。
上面的例子里面
for(i=0;i<num;i++)
和
for(i=1;i<=num;i++)
实际上都是从1开始加的。
可见这个宏的功能很强大。