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

 我来答
cooke1234
推荐于2018-03-23 · TA获得超过6861个赞
知道大有可为答主
回答量:4617
采纳率:72%
帮助的人:3594万
展开全部

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(); 可变参数函数最少要有一个参数。
}
匿名用户
2016-11-06
展开全部
如果类型相同,使用数组是可以的。。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式