可变参数

#include 
#include 
#include "stdarg.h"

double sum(int lim,...);
int main()
{
	double s=0,t=0,q=0;
	q=sum(1,1.0);
	printf("q=%f\r\n",q);
	
	s=sum(3,1.5,1.0,2.0);
	printf("s=%f\r\n",s);
	t=sum(6,6.2,6.8,6.0,6.0,6.0,6.0);
	printf("t=%f\r\n",t);
	system("pause");
	return 0;
}

double sum(int lim,...)
{
	double tot=0;
	int i;
	double tmp;
	va_list ap;
	va_start(ap,lim);
	
	for (i=0;i


 
  


注意事项:

头文件stdarg.h
接受可变个数的参数的函数实施步骤:
1.在函数原型中使用省略号
2.在函数定义中创建一个va_list类型的变量
3.用宏将该变量初始化为一个参数列表
4.用宏访问这个参数列表
5.用宏完成清理工作

打印:printf("i=%d va_arg(ap,double)=%f\r\n",i,tot-tmp);切勿:printf("i=%d va_arg(ap,double)=%f\r\n",i,va_arg(ap,double)=%);

你可能感兴趣的:(c)