PROGRAMMING LANGUAGE/C++

가변인자 함수

JC0 2021. 12. 31. 21:25
#include <iostream> 
#include <cstdarg>
#include <string>
using namespace std;

// 가변인자 함수
// void func(int num_args, ...);
// 여러개의 매개변수를 받는 함수  

double avg(double value, ...)
{
	va_list ap;
	va_start(ap, value);
	int arg = value, result = 0;
	int count = 0;
	while (arg != 0.0)
	{
		count++;
		arg = va_arg(ap, double);
		result += arg;  
		

	}
	va_end(ap);
	arg = (result / count);
	return arg;
}

int main()
{
	printf("result : %.31f", avg(1.01, 34.02, 7.45, 0.0));
	return 0;
}