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;
}
#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
完