C语言怎么实现函数不定参数

如题所述

C语言中定义了va_list, va_start( ), va_arg( ), va_end( ) 这样一组宏来处理可变参数问题。

可以参考printf的声明,创建自己的实现函数。示例:

#include<stdio.h>
#include<stdarg.h>
void va_fun(int start,...)
{
 va_list arg_ptr;
 int nArgValue = start;
 int nArgCount = 1;
 va_start(arg_ptr,start);
 while(nArgValue != -1)
 {
 printf("arg %d is:%d/n",nArgCount,nArgValue);
 nArgValue=va_arg(arg_ptr,int);
 ++nArgCount; 
 }
 return; 
}
main()
{
 va_fun(5,1,7,-1);
 printf("................/n");
 va_fun(2,4,-1);
 printf("................/n");
 va_fun(-1);
 printf("................/n");
 //va_fun(); 可变参数函数最少要有一个参数。
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-06
如果类型相同,使用数组是可以的。。。。。。。
相似回答