当前位置:   article > 正文

带可变参数函数的定义_如何定义带有可变数量参数的函数

如何定义带有可变数量参数的函数
 
C语言专门提供了一个头文件stdarg.h或在unix中的vrargs.h。
主要是声明一个预定义类型va_list以及三个预定义带参数宏va_start、va_arg和va_end。
为了能在带可变参数函数体中访问可变参数,必须先说明一个va_list类型的变量。该变量存储了可变参数的信息,其初值通过va_start宏指定,然后通过调用va_arg宏对该变量分离出各个可变参数的值。所有可变参数处理完毕结束相应函数的操作前,必须调用一次va_end宏使该va_list类型的变量不能使用。
例题:
#include <stdio.h>
#include <stdarg.h>
double sum(int num,...){
       double sum=0;
       va_list ap;
       va_start(ap,num);
       while(num--){
              sum+=va_arg(ap,double);// 第一次取第一个可变参数,第二次取第二个 ……
       }
       va_end(ap);
       return sum;
}
main(){
       double sum1=0;
       sum1=sum(4,2.1,2.9,4.2,0.8);//显示结果: 10.000000
       printf("%f",sum1);
}
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/71245
推荐阅读
相关标签
  

闽ICP备14008679号