🌕

可変長引数、va_startなどの練習

2021/12/27に公開

サンプル

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

int	vout(int max, ...)
{
	va_list arg;
	va_list arg_copy;
	int	i;
	char	*country;

	va_start(arg, max);
	va_copy(arg_copy, arg);
	i = 0;
	while (i < max)
	{
		country = va_arg(arg, char *);
		printf("Country: %s\n", country);
		i++;
	}
	va_end(arg);

	i= 0;
	while (i < max)
	{
		country = va_arg(arg_copy, char *);
		printf("Country; %s\n", country);
		i++;
	}
	va_end(arg_copy);
	return (0);
}

int main(void)
{
	vout(3, "Japan", "US", "UK");
	return (0);
}

実行結果

Country: Japan
Country: US
Country: UK
Country: Japan
Country: US
Country: UK

Discussion