码迷,mamicode.com
首页 > 其他好文 > 详细

可变参数列表

时间:2015-03-12 19:18:14      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:c

再c++里有函数重载,在c里有可变参数列表,用stdarg宏实现定义在<stdarg.h>的头文件中,其中有3个宏:va_start(va_list的变量名,省略号前最后一个有名字的参数)用于初始化,va_arg(va_list的变量名,可变参数类型)用于取出可变参数,va_end(va_list的变量名)用于表明结束取值,用va_list声明一个类型为va_list的变量如arg

#include<stdio.h>
#include<stdarg.h>
float average(int val,...)
{
    va_list arg;
    int count;
    float sum = 0;
    va_start(arg,val);
    for(count = 0;count < val;count++)
    {
        sum += va_arg(arg,int);
    }
    va_end(arg);
    return sum / val;
}//求平均数
int main()
{
    printf("%f\n",average(5,1,2,3,5,6));
    return 0;
}


可变参数列表

标签:c

原文地址:http://blog.csdn.net/cherry_ermao/article/details/44224679

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