参数可变的函数:
可参考:可变参数函数详解
其实实现一个可变参数的函数,主要有以下几个参数:
首先要包含头文件: #include <stdarg.h>,这个文件中我们需要四个元素:分别是:
(1)元素:va_list:是一个类型,
(2)元素:va_start:是一个宏
(3)元素:va_arg :是一个宏
(4)元素:va_end:是一个宏
va的意思就是variable-argment 可变参数的意思。
下边就是通过代码实现以下:
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
int sum(int n , ...);
int sum(int n, ...)
{
int i, sum = 0;
va_list vap;
va_start(vap,n);
for(i=0; i<n; i++)
{
sum += va_arg(vap, int);
}
va_end(vap);
return sum;
}
int main()
{
int result;
result = sum(4,8,9,10,11);
printf("result = %d\n",result);
printf("Hello world!\n");
return 0;
}