用指针求输入一个一维数组中元素的最大值
时间: 2024-05-04 17:19:54 浏览: 107
找出一个整型数组中的元素的最大值
可以通过循环遍历数组,将第一个元素设为最大值,然后依次比较后面的元素,如果有比当前最大值更大的元素,则更新最大值。使用指针可以减小数据复制的开销,代码如下:
```c
#include <stdio.h>
int max(int *arr, int n) {
int *p = arr; // 将指针指向数组第一个元素
int m = *p; // 将第一个元素设为最大值
for(int i=0; i<n; i++) {
if(*(p+i) > m) { // 比较当前元素和最大值
m = *(p+i); // 更新最大值
}
}
return m; // 返回最大值
}
int main() {
int arr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
int n = sizeof(arr) / sizeof(int);
int m = max(arr, n);
printf("Max value: %d\n", m);
return 0;
}
```
输出结果为:
```
Max value: 9
```
阅读全文