C语言中的可变参数
C语言中的可变参数
1、需要头文件
- #include <stdarg.h>
2、函数定义
- void logcmd(int arg0,...)
- void logcmd(char *arg0,...)
3、解析
i、数字类型
- void logcmd(int n,...)
- {
- va_list ap;
- int i = 0;
- va_start(ap,n);//使ap指向开始参数
- for(;n;n--)//检索参数
- printf("%d ",va_arg(ap,int));
- va_end(ap);//释放参数
- printf("\n");
- }
- logcmd(0);
- logcmd(1,9);
- logcmd(2,5,6);
- 9
- 5 6
- void logcmd(int arg0,...)
- {
- va_list ap;
- int i;
- va_start(ap,arg0);//使ap指向开始参数
- for(i = arg0; i >= 0; i = va_arg(ap,int))//检索参数
- printf("%d ",i);
- va_end(ap);//释放参数
- printf("\n");
- }
- logcmd(3,1,2,-1);
- 3 1 2
ii、字符类型
- void argsChar(int n,...)
- {
- va_list args;
- char *s;
- va_start(args,n);
- for(int i=0;i<n;i++){
- s = va_arg(args,char*);
- printf("%s\n",s);
- }
- va_end(args);
- }
- argsChar(2,"hello","world");
- hello
- world
评论暂时关闭