数组指针做参数求最值
时间: 2025-06-23 21:29:06 浏览: 10
数组指针作为参数在函数中用于求取数组的最大值或最小值,通常的做法是在函数内部通过遍历数组来比较元素并返回最大值或最小值。这种方法的优势在于,不需要暴露整个数组的内容给调用者,仅需要访问数组起始地址即可。
在C语言中,例如有一个这样的函数:
```c
#include <stdio.h>
// 函数声明
int find_min_max(int* arr, int size, char operation); // 'operation'可以是'max'或'min'
int main() {
int numbers[] = {5, 2, 9, 1, 7};
int min = find_min_max(numbers, sizeof(numbers) / sizeof(numbers[0]), 'min');
int max = find_min_max(numbers, sizeof(numbers) / sizeof(numbers[0]), 'max');
printf("Minimum value is %d\n", min);
printf("Maximum value is %d\n", max);
return 0;
}
// 实现函数
int find_min_max(int* arr, int size, char operation) {
int result;
switch (operation) {
case 'min':
result = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] < result) {
result = arr[i];
}
}
break;
case 'max':
result = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > result) {
result = arr[i];
}
}
break;
default:
printf("Invalid operation.\n");
return -1; // 处理非法操作
}
return result;
}
```
在这个例子中,`find_min_max`函数接受一个整数数组指针、数组大小以及一个字符(标识查找操作),然后根据字符选择是找到最小值还是最大值。
阅读全文
相关推荐

















