可变参数列表的例题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可变参数列表的例题相关的知识,希望对你有一定的参考价值。

1.使用可变参数列表实现任意个数求平均值。

#include<stdio.h>
#include<stdarg.h>
float average(int val,...)
{
	int i=0;
	float sum=0.0;
	float ave=0.0;
	va_list arg;
	va_start(arg,val);
	for(i=0;i<val;i++)
	{
		sum+=va_arg(arg,int);
	}
	va_end(arg);
	ave=sum/val;
	return ave;
}
int main()
{
	float ret=0;
	ret=average(4,2,4,2,9);
	printf("%f\n",ret);
	return 0;
}

2.使用可变参数列表实现print("s\tc\n","bit-tech",‘w‘);

#include<stdio.h>
#include<stdarg.h>
void print(char *format,...)
{
	char ch;
	char *pch;
	va_list arg;
	va_start(arg,format);
	while(*format)
	{
		switch(*format)
		{
		case ‘c‘:
		{
			ch=va_arg(arg,char);
			putchar(ch);
			break;
		}
		case ‘s‘:
		{
			pch=va_arg(arg,char*);
			while(*pch)
			{
				putchar(*pch);
				pch++;
			}
			break;
		}
		default :
		{
			putchar(*format);
			break;
		}
		}
		format++;
	}
	va_end(arg);
}
int main()
{
	print("^^^^s  5362c   ****s\n","bhbv",‘o‘,"piu");
	return 0;
}




本文出自 “sunshine225” 博客,请务必保留此出处http://10707460.blog.51cto.com/10697460/1754033

以上是关于可变参数列表的例题的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 自定义代码片段在方法定义的参数列表中不起作用

java——慎用可变参数列表

Java 我在学反射的时候,遇到可变长度参数列表,具体的成员方法就是?

函数栈帧与可变参数列表 p1可变参数列表(完结)( C语言从入门到入土(进阶篇)

将列表作为可变参数传递[重复]

可变长参数列表