指针+函数寻找数组中的最大值及其下标
时间: 2023-08-10 19:09:47 浏览: 137
以下是一个使用指针和函数来寻找数组中的最大值及其下标的 C 语言程序:
```c
#include <stdio.h>
void find_max(int arr[], int size, int *max, int *max_index) {
*max = arr[0];
*max_index = 0;
for(int i = 1; i < size; i++) {
if(arr[i] > *max) {
*max = arr[i];
*max_index = i;
}
}
}
int main() {
int arr[] = {1, 3, 5, 7, 9, 8, 6, 4, 2};
int size = sizeof(arr) / sizeof(arr[0]);
int max, max_index;
find_max(arr, size, &max, &max_index);
printf("The maximum value in the array is %d at index %d\n", max, max_index);
return 0;
}
```
该程序定义了一个名为 `find_max` 的函数,它接收一个整数数组 `arr`、数组大小 `size`,以及两个指针,一个指向最大值,另一个指向最大值的下标。函数通过遍历整个数组来找到最大值及其下标,每次比较当前值与之前的最大值,如果当前值更大,就更新最大值及其下标。最后,将最大值和最大值下标通过指针返回给调用者。
程序的 `main` 函数定义了一个整数数组 `arr`,并将其大小计算为 `size`。然后调用 `find_max` 函数来寻找数组中的最大值及其下标,并将它们存储在 `max` 和 `max_index` 变量中。最后,程序输出最大值及其下标。
阅读全文