Menu
CoddyTech

可变参数函数

Coddy C 语言中的函数 课程的第 10 课,共 17 课。

在 C 中,和其他编程语言一样,有一种称为可变参数的函数,这种函数可以接受任意数量的参数。

要使用可变参数函数,我们首先需要包含 <stdarg.h> 头文件。

来看一个例子,了解它的工作方式:

#include <stdio.h>
#include <stdarg.h>
int sum(int num, ...) {
   va_list list;        
   va_start(list, num);
   int sum = 0;
   for (int i = 0; i < num; i++) {
       sum += va_arg(list, int); 
   }
   va_end(list); 
   printf("%d", sum);
}
int main() {
    sum(2, 20, 30);          
   return 0;
}

在这个例子中,sum 函数会计算数量可变的整数值之和。

  1. 使用 <strong>va_list</strong> 宏声明一个变量,用来保存参数列表:

    va_list list;
  2. 初始化参数列表:

    va_start(list, num);
  3. 声明一个变量,用来保存总和:

    int sum = 0;
  4. 遍历所有元素,获取每个参数,并将其加到总和中:

    for (int i = 0; i < num; i++) {
           sum += va_arg(list, int); 
       }
  5. 计算完成后,清理参数列表:

     va_end(list); 
  6. 在 <strong>main</strong> 函数中,像这样调用 <strong>sum</strong> 函数:

      sum(2, 20, 30);  

     

 

challenge icon

挑战

简单

使用可变参数函数,创建一个名为 average 的函数,用于计算并打印学生成绩的平均值。

亲手试试

#include <stdio.h>
#include <stdarg.h>

// 计算平均值的函数 


int main() {
    
    // 调用可变参数函数|不要修改这里
    average(4, 85, 90, 78, 92);

    return 0;
}

C 语言中的函数中的所有课

自己练习: C 在线编译器