求任意多个数的最大值(利用可变参数列表)
来源:互联网 发布:金融网络诈骗类型 编辑:程序博客网 时间:2024/05/24 03:30
可变参数列表是通过宏来实现的,这些宏定义于stdarg.h头文件中。这个头文件声明了一个类型va_list和三个宏va_start,va_arg,va_end.我们可以声明一个类型为va_list的变量与这几个宏配合使用,访问参数的值。 函数先声明一个va_list类型的变量,这个变量通过调用va_start来初始化,第一个参数是va_list变量的名字,第二个参数是省略号前最后一个有名字的参数。初始化过程把va_list类型的变量设置为指向可变参数部分的第一个参数。 va_arg宏接受两个参数:va_list变量和参数列表中下一个参数的类型,返回这个参数的值,并使va_list类型的变量指向下一个可变参数。 当访问完最后一个可变参数之后,要调用va_end.
#include <stdio.h>#include <stdarg.h>int Max(int n, ...){ int i = 0; int max = 0; va_list arg; va_start(arg, n); for (i = 0; i < n; i++) { int val = va_arg(arg,int); if (val > max) { max = val; } } va_end(arg); return max;}int main(){ int ret = Max(10, 100, 2, 3, 4, 5, 6, 7, 8, 9, 10); printf("%d\n", ret); getchar(); return 0;}
求任意多个数的平均值
#include<stdio.h>#include<stdarg.h>float average(int n, ...){ int count = n; va_list val; float sum = 0; va_start(val, n); while (count--) { sum += va_arg(val, int); } va_end(val); return sum / n;}int main(){ float aver = average(7, 1, 2, 3,4,5,6,7); printf("average = %f\n", aver); getchar(); return 0;}
0 0
- 求任意多个数的最大值(利用可变参数列表)
- 可变参数列表求任意多个数的平均值
- 使用可变参数列表实现任意个数求平均值
- 【C语言】求多个数中的最大值(可变参数列表)
- 求任意多个数的最大值
- 可变参数列表求平均数,最大值的问题
- 可变参数列表求一组数的最大值
- 可变参数列表求一组数的最大值
- 用可变参数列表求最大值
- 可变参数列表求最大值与平均值
- 用可变参数列表实现求n个数的平均值
- 求一组数的平均数(利用可变参数列表)
- 利用委托求任意数组的最大值
- C#中求任意个数的最大值 使用params关键字
- 使用可变参数,实现函数,求函数参数的最大值
- [C语言]利用可变参数列表求平均值。
- 实现可变参数函数:Max,求最大值。
- 求多个数的最大值-简单
- #125 Valid Palindrome
- iOS平台 二维码生成和扫描
- C-函数间接作为函数参数:指向函数的指针
- 实现HTTP协议Get、Post和文件上传功能——使用WinHttp接口实现
- 实现HTTP协议Get、Post和文件上传功能——设计和模块
- 求任意多个数的最大值(利用可变参数列表)
- 第十二周项目1 - 教师兼干部类
- 实现HTTP协议Get、Post和文件上传功能——使用libcurl接口实现
- House Robber
- C-文件的输入输出程序-待补充
- C-结构
- 111111111111
- C-枚举
- make时注意到的小问题