#include <stdio.h>
#include <stdarg.h>
/**
*编写一个叫max_list函数,它用于检查任意数目的整形参数
*并返回他们中的最大值,参数列表必须以一个负数结尾,提
*示列表的结束
*/
int max_arg(int first, ...)
{
//指向参数栈
va_list va_arg;
//初始化
va_start(va_arg, first);
//获取第一个参数的值
int value = va_arg(va_arg, int);
int max = first;
while (value > 0)
{
if (value > max)
max = value;
value = va_arg(va_arg, int);
}
va_end(va_arg);
return max;
}
int main()
{
int max = max_arg(2, 3, 5, 4, 1, -1, 7);
printf("max_arg is %d\n", max);
}