C语言可变参数输入

本博文源于笔者正在学习的可变参数输入,可变参数是c语言函数中的一部分,下面本文就以一个很小的demo演示可变参数的编写

问题来源

想要用可变参数进行多个整数相加

方法源码

cpp 复制代码
#include<stdio.h>
#include<stdlib.h>
#include<stdarg.h>

int add(int num, ...) {
	int res = 0;
	va_list argp;
	va_start(argp, num);
	for (int i = 0; i < num; i++) {
		res += va_arg(argp, int);
	}
	va_end(argp);
	return res;
}

int main() {
	int res = add(5, 1, 2, 4, 5, 6);
	printf("%d", res);
	getchar();
	return 0;
}

问题运行效果

相关推荐
大飞记Python几秒前
从零配置Python测试环境:详解路径、依赖与虚拟环境最佳实践
开发语言·python·环境配置·安装目录
zhougl99622 分钟前
区分__proto__和prototype
开发语言·javascript·原型模式
weixin_4209476432 分钟前
php composer update 指定包的分支非tag
开发语言·php·composer
一水鉴天34 分钟前
整体设计 定稿 之6 完整设计文档讨论及定稿 之4 整体设计数据库设计规范(含两个版本)
开发语言·人工智能·架构
Evand J44 分钟前
【EKF定位滤波例程】三维空间(XYZ)速度与位置观测与滤波(使用扩展卡尔曼滤波EKF),状态量和观测量都是非线性的。附MATLAB例程下载链接
开发语言·matlab
AM越.1 小时前
Java设计模式超详解--观察者设计模式
java·开发语言·设计模式
云上漫步者1 小时前
深度实战:Rust交叉编译适配OpenHarmony PC——sys_locale完整适配案例
开发语言·后端·rust
guygg881 小时前
基于MATLAB的精密星历内插实现方案
开发语言·matlab
专注VB编程开发20年1 小时前
c#语法和java相差多少
java·开发语言·microsoft·c#
cici158741 小时前
MATLAB中实现图像超分辨率
开发语言·matlab