使用变长的参数列

使用变长的参数列

使用变长的参数列


/*程序名:fig14_02.c*/
/*
     使用变长的参数列
*/

#include <stdio.h> //标准输入输出头文件
#include <stdarg.h>

/*计算平均值*/
double average(int i,...)
{
     double total = 0;
     va_list ap;//保存va_list和vz_end所需的信息
     va_start(ap,i);//初始化va_list对象

     /*处理变长的参数列*/
     for (int j = 1;j <= i;j++)
     {
          total += va_arg(ap,double);
     }
     va_end(ap);//清空变长的参数列

     return total/ i;
}

/*程序开始*/
int main(void)
{
     double w = 37.5;
     double x = 22.5;
     double y = 1.7;
     double z = 10.2;

     printf("%s%.1f\n%s%.1f\n%s%.1f\n%s%.1f\n",
          "w = ",w,"x = ",x,"y = ",y,"z = ",z);
     printf("%s%.3f\n%s%.3f\n%s%.3f\n",
          "w,x的平均值=",average(2,w,x),
          "w,x,y的平均值=",average(3,w,x,y),
          "w,x,y,z的平均值=",average(4,w,x,y,z));

     return 0;//程序结束
}//main函数结束


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值