可变参数列表

来源:互联网 发布:智程网络靠谱吗 编辑:程序博客网 时间:2024/05/12 05:18

再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;}


0 0