码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2021-01-04 10:39:27      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:sum   传值   多个   main   设计   img   alt   count   amp   

技术图片

#include<stdio.h>
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<stdio.h>
#include<stdarg.h>//可变参数函数要用到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;
}

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

标签:sum   传值   多个   main   设计   img   alt   count   amp   

原文地址:https://www.cnblogs.com/qq1480040000/p/14210860.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!