在c中使用stdarg库[重复]

问题描述 投票:0回答:1

此问题已经在这里有了答案:

我想在函数中接收无限个参数并返回所有这些数字的和。

我正在使用stdarg.h库,并实现了我的sum函数,如下所示:

int sum(int n_args, ...)
{
        int sum = 0;
        va_list ap;

        va_start(ap, n_args);

        for(int i = 0; i < n_args; i++)
        {
            sum += va_args(ap);
        }

        va_end(ap);
        return sum;
}

当我尝试编译时,出现以下错误:

错误:'int'之前的预期主表达式

错误:在此范围内未声明'va_args'

c variadic-functions
1个回答
0
投票
va_args(ap)

应该是

va_arg(ap, int)
© www.soinside.com 2019 - 2024. All rights reserved.