指针求最大值 c语言
时间: 2024-03-06 14:45:12 浏览: 66
在C语言中,可以使用指针来求解一组数中的最大值。下面是一个简单的示例代码:
```c
#include <stdio.h>
int findMax(int *arr, int size) {
int max = *arr; // 假设第一个元素为最大值
for (int i = 1; i < size; i++) {
if (*(arr + i) > max) { // 比较当前元素与最大值
max = *(arr + i); // 更新最大值
}
}
return max;
}
int main() {
int arr[] = {5, 2, 9, 1, 7};
int size = sizeof(arr) / sizeof(arr[0]);
int max = findMax(arr, size);
printf("最大值为:%d\n", max);
return 0;
}
```
在上述代码中,`findMax`函数接受一个整型数组的指针和数组的大小作为参数。通过遍历数组,使用指针访问数组元素,并与当前的最大值进行比较,更新最大值。最后,返回最大值。
相关问题:
1. 什么是指针?
2. 如何声明和初始化指针?
3. 指针和数组有什么关系?
相关问题
c语言指针求最大值最小值
要在C语言中使用指针求最大值和最小值,可以通过遍历数组的方式进行比较。首先,需要定义一个指向数组的指针,并将其指向数组的第一个元素。然后,使用指针来遍历数组,并与当前的最大值和最小值进行比较更新。下面是一个示例代码:
```c
#include <stdio.h>
void findMinMax(int* arr, int size, int* min, int* max) {
*min = *max = arr[0]; // 初始化最小值和最大值为数组的第一个元素
for (int i = 1; i < size; i++) {
if (arr[i] < *min) {
*min = arr[i]; // 更新最小值
}
if (arr[i] > *max) {
*max = arr[i]; // 更新最大值
}
}
}
int main() {
int arr[] = {10, 5, 8, 3, 15, 20};
int size = sizeof(arr) / sizeof(arr[0]);
int minValue, maxValue;
findMinMax(arr, size, &minValue, &maxValue);
printf("最小值:%d\n", minValue);
printf("最大值:%d\n", maxValue);
return 0;
}
```
输出结果为:
```
最小值:3
最大值:20
```
c语言数组指针求最大值
在C语言中,可以使用指针来求解数组的最大值。下面是一个示例代码:
```c
#include <stdio.h>
int findMax(int *arr, int len) {
int max = *arr; // 假设第一个元素为最大值
for (int i = 1; i < len; i++) {
if (*(arr + i) > max) { // 比较当前元素和最大值
max = *(arr + i); // 更新最大值
}
}
return max;
}
int main() {
int score[] = {85, 90, 78, 92, 88};
int len = sizeof(score) / sizeof(score[0]);
int maxScore = findMax(score, len);
printf("Max value: %d\n", maxScore);
return 0;
}
```
这段代码定义了一个`findMax`函数,该函数接受一个整型指针和数组的长度作为参数,通过遍历数组找到最大值并返回。在`main`函数中,我们定义了一个整型数组`score`,并计算出数组的长度。然后调用`findMax`函数来求解最大值,并将结果打印出来。
阅读全文