VA函数(variable argument function),参数个数可变函数,又称可变参数函数。
#include<stdio.h>
#include<stdarg.h>
int max_int(int n, ...){ //传入n个整数,找到最大的整数 (...)
if(n < 0) return 0;
int ans = 0;
va_list arg; //定义一个指向个数可变的参数列表指针arg
va_start(arg, n); //使参数列表指针arg指向函数参数列表中的第一个可选参数n
while(n--){ //循环n次
int temp = va_arg(arg, int); //返回参数列表中指针arg所指的参数,返回类型为int,并使指针arg指向参数列表中下一个参数
if(temp > ans) ans =temp;
}
va_end(arg); //清空参数列表,并置参数指针arg_ptr无效
return ans;
}
int main(){
printf("%d\n",max_int(3, 1, 5, 9)); //传入3个数,分别是1,5,9
return 0;
}