C语言中使用指针判断一个数组元素的最大值和最小值
时间: 2024-08-24 22:00:46 浏览: 65
在C语言中,使用指针可以方便地遍历数组并找到最大值和最小值。以下是一个简单的示例,假设我们有一个整型数组:
```c
#include <stdio.h>
#define SIZE 5 // 定义数组大小
// 函数声明,接收指向数组首元素的指针和数组长度
void findMinMax(int* arr, int size, int* min, int* max);
int main() {
int numbers[SIZE] = {4, 2, 9, 6, 1}; // 初始化数组
int min_num, max_num; // 存储最小值和最大值
findMinMax(numbers, SIZE, &min_num, &max_num); // 调用函数
printf("最小值: %d, 最大值: %d\n", min_num, max_num);
return 0;
}
// 函数实现
void findMinMax(int* arr, int size, int* min, int* max) {
*min = *arr; // 初始将第一个元素设为最小值
*max = *arr; // 同理,初始将第一个元素设为最大值
for (int i = 1; i < size; ++i) { // 遍历数组
if (*arr > *max) {
*max = *arr;
} else if (*arr < *min) {
*min = *arr;
}
arr++; // 指针向前移动到下一个元素
}
}
```
在这个例子中,`findMinMax`函数通过指针遍历数组,每次比较当前元素和已知的最小值、最大值,如果当前元素更大,则更新最大值;如果更小,则更新最小值。函数最后返回的是通过指针`min`和`max`传递的实际最小值和最大值。
阅读全文