码迷,mamicode.com
首页 > 编程语言 > 详细

C语言 - 变参函数

时间:2020-06-21 17:51:21      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:main   ++   函数   第一步   语言   一个   清理   https   变量   


#include <stdio.h>
#include <stdarg.h>
 
/*【第一步】:定义一个使用省略号的函数原型 */
double sum(int lim, ...) 
{
 /*【第二步】:声明一个va_list类型的变量ap */
 va_list ap;   
 double sum = 0;  // 用于保存参数之和
 int i;
 /*【第三步】:使用va_start把变量ap初始化为参数列表 */
 va_start(ap, lim);
 for (i = 0; i < lim; i++)
 {
   /*【第四步】: 使用va_arg访问参数列表。
   这里第二个参数是double类型,传入的不定参数就应是double类型
   */
   sum += va_arg(ap, double); 
 }
 /*【第五步】:使用va_end完成清理工作 */
 va_end(ap); 
 
 return sum;
}
 
int main(void)
{
 double sum1 = 0, sum2 = 0;
 /* 计算 */
 sum1 = sum(3, 1.1, 2.2, 3.3); 
 sum2 = sum(6, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0);
 printf("sum1 = %f\n", sum1);
 printf("sum2 = %f\n", sum2);
 return 0;
}
出处
//https://blog.csdn.net/zhengnianli/article/details/84504580

C语言 - 变参函数

标签:main   ++   函数   第一步   语言   一个   清理   https   变量   

原文地址:https://www.cnblogs.com/axjlxy/p/13173072.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!