C语言自定义函数比较大小多个数的大小
时间: 2023-06-28 12:09:55 浏览: 254
比较几个数的大小
以下是一个比较大小的自定义函数,可以接收任意多个数,并返回最大值和最小值:
```c
#include <stdio.h>
void compare(int n, ...) {
va_list args;
int max = -2147483648; // 最小的int值
int min = 2147483647; // 最大的int值
va_start(args, n); // 初始化可变参数列表
for (int i = 0; i < n; i++) {
int num = va_arg(args, int); // 获取下一个可变参数
if (num > max)
max = num;
if (num < min)
min = num;
}
va_end(args); // 结束可变参数列表
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
}
int main() {
compare(3, 10, 20, 30);
compare(5, 3, 5, 1, 9, 4);
return 0;
}
```
在这个函数中,我们使用了可变参数列表,通过 `va_start` 和 `va_arg` 函数获取参数。在循环中,我们比较每一个数与当前的最大值和最小值,更新它们的值。最后输出最大值和最小值。
注意,由于可变参数列表的特殊性,我们需要手动结束可变参数列表,使用 `va_end` 函数。
阅读全文