用C语言实现用指针找数组中的最大最小值
时间: 2024-03-20 12:38:38 浏览: 138
可以使用以下代码实现:
```c
#include <stdio.h>
void find_min_max(int* arr, int size, int* min, int* max) {
*min = *max = arr[0]; // 初始化min和max为数组第一个元素
for (int i = 1; i < size; i++) {
if (arr[i] < *min) {
*min = arr[i]; // 更新最小值
}
if (arr[i] > *max) {
*max = arr[i]; // 更新最大值
}
}
}
int main() {
int arr[] = {5, 8, 2, 7, 1, 9, 3, 6, 4};
int size = sizeof(arr) / sizeof(int);
int min, max;
find_min_max(arr, size, &min, &max); // 传递min和max的地址
printf("Minimum value: %d\n", min);
printf("Maximum value: %d\n", max);
return 0;
}
```
上述代码中,使用了一个 `find_min_max` 函数来找到给定整数数组中的最小值和最大值。该函数接受一个整数数组的指针,数组的大小,以及两个 int 类型的指针 `min` 和 `max`,这两个指针指向最小值和最大值的变量。在函数中,使用一个循环遍历整个数组,并使用指针来更新最小值和最大值。最后,在主函数中,我们调用 `find_min_max` 函数并传递 `min` 和 `max` 变量的地址。最小值和最大值会被更新为数组中的最小值和最大值,然后在主函数中输出它们。
阅读全文