可变参数函数的C语言示例代码
通过stdarg.h头文件为函数提供了定义可变参数列表的能力。声明一个可变参数的函数类似:void func(int n,...);
其中
:n表示参数列表个数
:省略号...来表示未知参数列表。
stdarg.h中提供了一个va_list类型,用于存放参数。
详细示例代码如下:
程序代码:#include<stdarg.h>
#include "sum.h"
double sum(int lim, ...)
{
va_list ap;
int i;
double total=0;
va_start(ap,lim);
for(i=0;i<lim;i++)
total+=va_arg(ap,double);
va_end(ap);
return total;
} 调用方式
程序代码:#include <stdio.h>
#include "sum.h"
int main(void)
{
double s,t;
s=sum(3,1.1,2.2,13.3);
t=sum(6,1.1,2.1,13.1,4.1,5.1,6.1);
printf("return value for sum(3,1.1,2.2,13.3): %g\n",s);
printf("return value for sum(6,1.1,2.1,13.1,4.1,5.1,6.1): %g\n",t);
return 0;
} 







