所谓可变参数列表,指的是让函数在不同情况下接受不同数量的参数。为了实现这个目的,我们可以使用标准库stdarg.h (standard arguments)中的va_list类型以及va_start,va_arg,va_end宏。下面以一个具体的求和例子来说明实现方法。
#include
#include
#include
int sumFun( int n_values, ...)//求n个数的和
{
va_list var;//首先声明va_list型的变量var,用于访问参数的未定义部分
int count = 0;
int sum = 0;
va_start( var, n_values );//用于初始化var,第一个参数是va_list变量的名字,第二个参数是省略号前最后一个参数名
for( count; count
运行结果如下: ![](https://img-blog.csdn.net/20141012202514339?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjMzMTgxMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)