初试可变参数

来源:互联网 发布:网易新闻android源码 编辑:程序博客网 时间:2024/04/29 06:21
#include<stdio.h>#include<stdarg.h>int total(int n,...);int main(void){    printf("%d",total(9,7,8,9,6,7,6,4,6,2));    return 0;}int total(int n,...){    va_list ap;//一种数据对象,用来存储参数列表中省略号部分。    int i=0;    int total=0;    va_start(ap,n);//n为该函数紧挨着省略号的参数(parmN),va_start将参数列表复制入 ap中。    for(i=0;i<n;i++)    {        total+=va_arg(ap,int);//第n次调用返回省略号中第n个变量,该宏的第二个参数是返回的类型。    }    va_end(ap);//完成清理工作,例如释放内存。    return total;}
variable-argument(可变参数)
0 0