C/C++ 可变参数

来源:互联网 发布:冬庆线切割怎么编程 编辑:程序博客网 时间:2024/06/05 08:14
#include <stdarg.h> int add(int data,...){    int res=0;    int i=0;    va_list vl;    va_start(vl,data);  // 根据参数列表首地址获取第二个参数的地址,即执行该语句后vl已经指向第二个参数。    i=data;    while(i!=-1)  // 参数中必须包含一个自定义的结束标识,这里为-1    {        res+=i;        i=va_arg(vl,int);  // 执行该语句依次返回每个参数(从第二个参数开始)的值。    }    va_end(vl);  // 使vl指针指向NULL    return res;}int main(){    printf("%d\n",add(1,2,3,4,5,-1));    return 0;}