c语言用fun函数求数组的最大值所在的地址 将该地址返回给主函数
时间: 2024-04-30 10:18:16 浏览: 119
可以使用如下的代码实现:
```c
#include <stdio.h>
int *max(int arr[], int n) {
int i, max = arr[0];
int *p = &arr[0];
for (i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
p = &arr[i];
}
}
return p;
}
int main() {
int arr[] = {5, 9, 2, 7, 3, 8, 6};
int n = sizeof(arr) / sizeof(arr[0]);
int *p = max(arr, n);
printf("最大值所在的地址为:%p\n", p);
return 0;
}
```
这里定义了一个 `max` 函数,它接收一个整型数组和数组长度作为参数,返回指向最大值所在位置的指针。在函数内部,使用一个循环遍历数组,找到最大值并记录它的位置。最后返回该位置的指针。
在主函数中,声明一个整型数组 `arr`,并计算出它的长度。然后调用 `max` 函数获取最大值所在的地址,并将其打印出来。
相关问题
c语言用fun函数求数组的最大值
可以使用一个函数来求一个整型数组的最大值,具体实现如下:
```c
#include <stdio.h>
int max(int arr[], int n) {
int i, max_num = arr[0];
for (i = 1; i < n; i++) {
if (arr[i] > max_num) {
max_num = arr[i];
}
}
return max_num;
}
int main() {
int arr[] = {5, 8, 2, 10, 3};
int n = sizeof(arr) / sizeof(arr[0]);
printf("数组的最大值为:%d\n", max(arr, n));
return 0;
}
```
在这个程序中,我们定义了一个名为`max`的函数,它接受一个整型数组和数组长度作为参数,并返回这个数组的最大值。函数中使用了一个循环来遍历数组,每次比较当前元素和最大值,如果当前元素比最大值大,就将最大值更新为当前元素。最后返回最大值即可。
在`main`函数中,我们定义了一个整型数组并初始化,然后调用`max`函数来求最大值,并将结果输出到控制台。
C语言通过函数fun计算返回数组最大值的位置。在主函数中输出最大值及位置
好的,下面是实现代码:
```c
#include <stdio.h>
// 计算数组最大值的位置
int fun(int arr[], int len) {
int max = arr[0];
int index = 0;
for (int i = 1; i < len; i++) {
if (arr[i] > max) {
max = arr[i];
index = i;
}
}
return index;
}
int main() {
int arr[] = {1, 3, 5, 2, 4};
int len = sizeof(arr) / sizeof(int);
int index = fun(arr, len);
printf("最大值为%d,位置为%d\n", arr[index], index);
return 0;
}
```
在函数 `fun` 中,我们遍历数组,找到最大值,并记录它的位置。最后在主函数中调用 `fun` 函数,获取最大值的位置,然后根据位置输出最大值及其位置。
阅读全文