全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C语言中编写可变参数函数

通过stdarg.h头文件为函数提供了定义可变参数列表的能力。声明一个可变参数的函数类似:

void f1(int n,...);

其中n表示参数列表个数,而用省略号来表示未知参数列表。stdarg.h中提供了一个va_list类型,用于存放参数。一个大概的使用过程类似:

void f1(int n,...)

{

va_list ap;

va_start(ap,n);  //初始化参数列表

double first=va_arg(ap,double); //取第一个参数

int second=va_arg(ap,int);  //取第二个参数

...

va_end(ap); //清理工作

}

看一个求和的例子:

#include < stdio.h > #include < stdarg.h > 
 double sum( int  , 
);
 int main( void 
)

{

 double 
s,t;

s
 = sum( 3 , 1.1 , 2.2 , 13.3 
);

t
 = sum( 6 , 1.1 , 2.1 , 13.1 , 4.1 , 5.1 , 6.1 
);

printf(
 " return value for " 
\

 " sum(3,1.1,2.2,13.3):  %g\n " 
,s);

printf(
 " return value for " 
\

 " sum(6,1.1,2.1,13.1,4.1,5.1,6.1):  %g\n " 
,t);

 return  0 
;

}
 double sum( int  lim, 
)

{

va_list ap;

 double total = 0 
;

va_start(ap,lim);

 int 
i;

 for (i = 0 ;i < lim;i ++ 
)

total
 += va_arg(ap, double 
);

va_end(ap);

 return 
total;

}
 

C语言对可变参数的使用还是有点麻烦,不如ruby和java简便。比如ruby中定义并使用可变参数参数:

def sum(*e)

e.inject{|sum,i| sum+=i}

end

sum(1,2,3,4,5)=>15


# c  # 可变参数函数  # c语言可变参数函数  # C语言可变参数与函数参数的内存对齐详解  # C语言main()函数的参数问题详解  # C语言 函数缺省参数详情  # C语言可变参数函数详解  # C语言的可变参数函数实现详解  # C语言函数的参数使用指针  # C语言中函数参数的入栈顺序详解及实例  # C语言深入讲解函数参数的使用  # 第一个  # 第二个  # 而用  # 头文件  # va_start  # double  # ap  # va_arg  # include  # va_end  # lt  # cpp  # void  # stdarg  # code  # int  # class  # brush  # va_list  # pre 


相关文章: 建站主机无法访问?如何排查域名与服务器问题  如何选择香港主机高效搭建外贸独立站?  ,交易猫的商品怎么发布到网站上去?  建站主机如何选?性能与价格怎样平衡?  如何快速搭建虚拟主机网站?新手必看指南  黑客如何通过漏洞一步步攻陷网站服务器?  网站制作模板下载什么软件,ppt模板免费下载网站?  如何配置FTP站点权限与安全设置?  小型网站建站如何选择虚拟主机?  广州建站公司哪家好?十大优质服务商推荐  建站VPS推荐:2025年高性能服务器配置指南  制作网站的公司有哪些,做一个公司网站要多少钱?  定制建站价位费用解析与套餐推荐全攻略  临沂网站制作企业,临沂第三中学官方网站?  制作网站的软件免费下载,免费制作app哪个平台好?  如何用y主机助手快速搭建网站?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  独立制作一个网站多少钱,建立网站需要花多少钱?  想学网站制作怎么学,建立一个网站要花费多少?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  如何做网站制作流程,*游戏网站怎么搭建?  图册素材网站设计制作软件,图册的导出方式有几种?  高端网站建设与定制开发一站式解决方案 中企动力  建站之星24小时客服电话如何获取?  公司网站设计制作厂家,怎么创建自己的一个网站?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  购物网站制作公司有哪些,哪个购物网站比较好?  如何获取开源自助建站系统免费下载链接?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  建站之星如何助力网站排名飙升?揭秘高效技巧  香港服务器WordPress建站指南:SEO优化与高效部署策略  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  如何选择CMS系统实现快速建站与SEO优化?  微信小程序 input输入框控件详解及实例(多种示例)  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  高防服务器:AI智能防御DDoS攻击与数据安全保障  音响网站制作视频教程,隆霸音响官方网站?  如何选择适合PHP云建站的开源框架?  简单实现Android验证码  如何零基础开发自助建站系统?完整教程解析  如何用PHP快速搭建CMS系统?  如何通过FTP空间快速搭建安全高效网站?  如何在Ubuntu系统下快速搭建WordPress个人网站?  济南网站制作的价格,历城一职专官方网站?  如何快速上传自定义模板至建站之星?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何高效配置香港服务器实现快速建站?  如何在自有机房高效搭建专业网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。