C语言 可变参数

执行结果截图:

  代码:

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

int sum(int n, ...);

int sum(int n, ...)
{
/* 定义一个函数sum,形式参数n是指一共会输入多少个数,
* 省略号是代表会输入数量不定的数(可变参数),
* 函数sum把多个输入数进行累加并用return返回这个值
*/
int i, sum = 0;
va_list vap;

va_start(vap, n);
for (i = 0; i < n; i++)
{
sum += va_arg(vap, int);
}
return sum;
}

int main()
{
int result;
// 第一个数字3指的是它后面的3个数累加
result = sum(3, 1, 2, 3);
printf("result1 = %d\n", result);
// 第一个数字6指的是它后面的6个数累加
result = sum(6, 235, -80, 9, -456, 789, 532);
printf("result2 = %d\n", result);
// 第一个数字8指的是它后面的8个数累加
result = sum(8, -82, 2, 27, 5, 8, 23, -98, 1, 3);
printf("result3 = %d\n", result);

return 0;
}
posted @ 2021-12-25 21:09  JohnnyH  阅读(54)  评论(0)    收藏  举报