可变参数函数
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 函数会计算数量可变的整数值之和。
使用
<strong>va_list</strong>宏声明一个变量,用来保存参数列表: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);在
<strong>main</strong>函数中,像这样调用<strong>sum</strong>函数:sum(2, 20, 30);
挑战
简单使用可变参数函数,创建一个名为 average 的函数,用于计算并打印学生成绩的平均值。
亲手试试
#include <stdio.h>
#include <stdarg.h>
// 计算平均值的函数
int main() {
// 调用可变参数函数|不要修改这里
average(4, 85, 90, 78, 92);
return 0;
}C 语言中的函数中的所有课
自己练习: C 在线编译器