使用指针作为函数参数,写一求数组中最大值和最小值的函数
时间: 2023-04-27 13:05:23 浏览: 179
可以使用指针作为函数参数来写一个函数,用来求解数组中的最大值和最小值。具体实现方法如下:
```c
void findMinMax(int *arr, int size, int *max, int *min) {
*max = *min = arr[]; // 初始化最大值和最小值为数组的第一个元素
for (int i = 1; i < size; i++) {
if (arr[i] > *max) {
*max = arr[i]; // 更新最大值
}
if (arr[i] < *min) {
*min = arr[i]; // 更新最小值
}
}
}
```
这个函数接受四个参数,分别是指向数组首元素的指针 `arr`、数组的大小 `size`、指向最大值的指针 `max` 和指向最小值的指针 `min`。函数内部使用循环遍历数组,找到最大值和最小值,并将它们存储到 `max` 和 `min` 指向的内存地址中。
使用这个函数的示例代码如下:
```c
int main() {
int arr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
int size = sizeof(arr) / sizeof(arr[]);
int max, min;
findMinMax(arr, size, &max, &min);
printf("max=%d, min=%d\n", max, min);
return ;
}
```
这个示例代码首先定义了一个整型数组 `arr`,然后计算出数组的大小 `size`。接着定义了两个整型变量 `max` 和 `min`,并将它们的地址传递给 `findMinMax` 函数。最后打印出最大值和最小值。
阅读全文