c 形参 可变 入门

#include <stdio.h>
#include
<stdarg.h> ////处理可变参数列表,需要包含这个头文件

int max(int num, int b, ...) ///num表示参数的个数
{
va_list ap;
int m,i,temp;

va_start(ap,b);
////处理可变参数列表,初始化
m=b;
for(i=1;i<num;i++)
{
temp
=va_arg(ap,int); ////处理可变参数列表,每次取一个参数
if(m<temp)m=temp;
}
va_end(ap);
////处理可变参数列表,结束
return m;
}

int main(void)
{
printf(
"max(1,1)=%d\n", max(1,1));
printf(
"max(2,1,2)=%d\n", max(2,1,2));
printf(
"max(3,1,2,3)=%d\n", max(3,1,2,3));
return 0;
}

2 原文地址:http://www.cnblogs.com/minstrelboy/archive/2011/05/12/2044502.html

#include <stdio.h>
#include <stdarg.h>
 
int valargfun(int argn,...)
{
  va_list ap;
  va_start(ap,argn);
  for (int i = 0; i<argn; ++i)
  {
    printf ("%d args is %d\n",i,va_arg(ap,int));
  }
  va_end(ap);
}
 
int main()
{
  valargfun(5,1,2,3,6,7);
}
  
输出为:

0 args is 1
1 args is 2
2 args is 3
3 args is 6
4 args is 7

原文地址:https://www.cnblogs.com/wangkangluo1/p/2103222.html