我试图在使用 stdarg.h 的 C 中运行以下代码,但由于某种原因我无法让它工作。我没有使用变量参数列表的经验,所以请大家帮忙!
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
int add_stuff_together(int numb_count, ...);
int main()
{
int x = add_stuff_together(2, 1, 1);
printf("%i", x);
return 0;
}
int add_stuff_together(int numb_count, ...)
{
int sum, repeat_times;
va_list args;
va_start(args, numb_count);
for (repeat_times = 0; repeat_times < numb_count; repeat_times++)
{
sum = sum + va_arg(args, int);
}
return sum;
}
我得到的输出是:172998379
有人可以解释为什么我得到这个答案吗?