在本节中,我们将看到在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