您的位置:首页 > 博客中心 > 互联网 >

函数调用-如何设计参数 可变参数函数

时间:2022-05-11 07:41

技术图片

#include
int max(int a, int b)//形参
{
	return a > b ? a : b;
}
int main()
{
	int x, y;
	scanf("%d%d", &x, &y);
	printf("%d", max(x, y));//实际参数
	return 0;
}

注意:实际参数传值给形参,传参具有方向性。
技术图片
技术图片
技术图片
技术图片
技术图片
技术图片
技术图片

可变参数函数

/*
计算平均值*/
#include
#include//可变参数函数要用到va_*的宏定义
double avg(int first, ...)//返回若干个整数平均值的函数
{
	int count = 0, sum = 0, i;
	va_list arg_ptr;//定义变参数列表指针
	va_start(arg_ptr, first);//初始化
	i = first;//取第一个参数
	while (i != -1)//调用时最后一个参数必须是-1,作为结束标记
	{
		sum = sum + i;//累加多个整数值
		count++;//计数
		i = va_arg(arg_ptr, int);//取下一个参数
	}
	va_end(arg_ptr);//清空参数列表
	return (count > 0 ? (double)sum / count : 0);//返回平均值
}
int main()
{
	printf("%lf\n", avg(1, 2, 3, -1));//返回1-3的平均值
	printf("%lf\n", avg(7, 8, 9, 10, -1));//同理
	printf("%lf\n", avg(-1));
	return 0;
}

本类排行

今日推荐

热门手游