MY_varlist

来源:互联网 发布:电脑软件推广联盟 编辑:程序博客网 时间:2024/05/17 22:48
#include <stdio.h>#define va_list void*#define va_end(arg)#define va_arg(arg, type)    *(type*)arg; arg = (char*)arg + sizeof(type);#define va_start(arg, start) arg = (va_list)(((char*)&(start)) + sizeof(start))int accumlate(int nr, ...){    int i = 0;    int result = 0;    va_list arg = NULL;    va_start(arg, nr);    for (i = 0; i < nr; i++)    {        result += va_arg(arg, int);    }    va_end(arg);    return result;}int main(int argc, char* argv[]){    printf("%d\n", accumlate(1, 100));    printf("%d\n", accumlate(2, 100, 200));    printf("%d\n", accumlate(3, 100, 200, 300));    return 0;}

原创粉丝点击