C语言 利用指针找最大值 【问题描述】编写一个函数,使用指针的方式返回一个数组中存储的最大值元素。测试程序中的函数。方法较多,请使用指针方式。
时间: 2024-03-03 10:51:02 浏览: 52
好的,以下是一个示例代码:
```c
#include <stdio.h>
int *findMax(int *arr, int n) {
int *max = arr; // 先将第一个元素作为最大值
for(int i = 1; i < n; i++) {
if(*(arr + i) > *max) {
max = arr + i; // 更新最大值的指针
}
}
return max;
}
int main() {
int a[5] = {3, 1, 4, 1, 5};
int *maxPtr = findMax(a, 5); // 传递数组和数组长度,并获取最大值的指针
printf("最大值为:%d,位于数组中的下标为:%ld\n", *maxPtr, maxPtr - a);
return 0;
}
```
在这里,我们定义了一个 `findMax()` 函数,它接收一个整型指针和一个整型参数,指针指向长度为 n 的整型数组。通过遍历数组,我们找到数组中的最大值,并返回最大值的指针。在 `main()` 函数中,我们声明一个长度为 5 的整型数组,并初始化它的值。我们将数组和数组长度传递给 `findMax()` 函数,并获取最大值的指针,最终打印出最大值和最大值在数组中的下标。注意,在这里我们使用指针访问数组元素,而不是使用数组下标。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![mp4](https://img-home.csdnimg.cn/images/20210720083504.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)