如何在C中枚举

时间:2016-02-21 12:13:45

标签: c for-loop

我有一个看起来像这样的方法:

static inline float average(int numbers, ...) {

}

你如何使用for循环来获得我投入数字的所有价值。例如:

average(1, 3, 5, 7);

1 个答案:

答案 0 :(得分:7)

你做不到。如果要使用可变参数,则需要一种获取参数数量的机制。大多数情况下,它是从第一个非变量参数推断出来的。这就是printf和家人的工作方式。

对于你的例子,我个人不会打扰可变参数。如果您想要将average这样的数学函数应用于一个或多个参数,只需使用向量:

static inline float average(const int* numbers, int size)

如果您坚持使用可变参数函数,这些将帮助您入门: