找出数组最大值和下标用指针
时间: 2024-04-24 22:25:15 浏览: 226
可以使用指针来找出数组的最大值和对应的下标。下面是一个示例代码:
```c
#include <stdio.h>
void findMax(int *arr, int size, int *max, int *index) {
*max = arr[0]; // 假设第一个元素为最大值
*index = 0; // 最大值的下标初始化为0
for (int i = 1; i < size; i++) {
if (arr[i] > *max) { // 如果当前元素大于最大值
*max = arr[i]; // 更新最大值
*index = i; // 更新最大值的下标
}
}
}
int main() {
int arr[] = {2, 5, 9, 3, 7};
int size = sizeof(arr) / sizeof(arr[0]);
int max, index;
findMax(arr, size, &max, &index);
printf("最大值:%d\n", max);
printf("最大值的下标:%d\n", index);
return 0;
}
```
在这个示例中,`findMax` 函数使用指针来接收数组、最大值和下标的地址。通过遍历数组,如果当前元素大于最大值,则更新最大值和下标。最后,在主函数中调用 `findMax` 函数,并打印最大值和下标的值。
输出结果将会是:
```
最大值:9
最大值的下标:2
```
阅读全文