如何计算C中可变数量的参数?

在本节中,我们将看到在C中参数数目可变的情况下如何计算参数数目。

C支持省略号。这用于对函数采用可变数量的参数。用户可以使用三种不同方式之一来计算参数。

  • 通过传递第一个参数作为参数计数

  • 通过将最后一个参数传递为NULL。

  • 使用类似printf()或的逻辑,scanf()其中第一个参数具有其他参数的占位符。

在下面的程序中,我们将传递的参数总数为变量。

范例程式码

#include<stdio.h>
#include <stdarg.h>
int get_avg(int count, ...) {
   va_list ap;
   int i;
   int sum = 0;
   va_start(ap, count); //va_start used to start before accessing arguments
   for(i = 0; i < count; i++) {
      sum += va_arg(ap, int);
   }
   va_end(ap); //va_end used after completing access of arguments
   return sum;
}
main() {
   printf("Total variable count is: %f", get_avg(5, 8, 5, 3, 4, 6));
}

输出结果

Total variable count is: 5