可变参数:
C语言中的可变参数就是将函数实现成可变参数的形式,可以使函数接收一个到多个参数(不固定);
例如下面这段代码:求任意几个数的平均数(其中函数的第一个参数n表示要求n个数的平均数,求的平均数是第一个参数后面的数字的平均数,例如average (2, 1, 3)表示求1 ,3两个数的平均数):
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
int average(int n, ...)
{
va_list arg;
int i = 0;
int sum = 0;
va_start (arg, n);
for (i=0; i<n; i++)
{
sum += va_arg(arg, int);
}
return sum/n;
va_end (arg);
}
int main()
{
int ret1 = average (5, 4, 5, 6, 7, 8);
int ret2 = average (3, 4, 5, 6);
printf ("ret1 = %d, ret2 = %d\n", ret1, ret2);
system ("pause");
return 0;
}
运行结果: