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
誰かがなぜ私がこの答えを得たのか説明してもらえますか?