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 @   JohnnyH  阅读(43)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示