va_startva_endva_arg 实现可变长参数
Posted muzixiaofeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了va_startva_endva_arg 实现可变长参数相关的知识,希望对你有一定的参考价值。
/*******************************/
//va_start、va_end、va_arg 实现可变长参数
/*******************************/
#include <stdarg.h>
#include <stdio.h>
#define END_NUM -1
void trease_array(int first_num,...)
{
int result1 = 0;
int result2 = 0;
int temp = 0;
va_list ap;
va_start(ap,first_num);
result1 =first_num;
while( (temp = va_arg(ap,int)) != END_NUM)
{
result1 += temp;
}
printf("%d
",result1);
va_end(ap);
}
int main(void)
{
trease_array(1,2,3,4,5,END_NUM);
return 0;
}
以上是关于va_startva_endva_arg 实现可变长参数的主要内容,如果未能解决你的问题,请参考以下文章
可变参数模板类:是不是可以为每个可变参数模板参数实现一个唯一的成员函数?