编写一个函数,用地址传递的方式,将存储在int类 型数组中最大值的下标写到地址指向的内存空间中(对数组元素的操作使用指针的形式来实现)。在 main 中调用该函数进行测试。
时间: 2024-11-05 22:24:28 浏览: 0
在C语言中,我们可以编写一个函数`findMaxIndex`,接收一个整数数组的指针以及数组长度作为参数,然后遍历数组找到最大值的下标,并将其复制到提供的地址上。以下是完整的示例:
```c
#include <stdio.h>
// 函数声明
void findMaxIndex(int* arr, int length, int* index);
int main() {
// 初始化一个整数数组
int array[] = {5, 9, 3, 7, 1, 8};
int maxIndex; // 定义变量保存最大下标
// 调用函数并将返回的下标存储到maxIndex变量
findMaxIndex(array, sizeof(array) / sizeof(array[0]), &maxIndex);
printf("The maximum value's index is: %d\n", maxIndex); // 测试输出
return 0;
}
// 实现函数
void findMaxIndex(int* arr, int length, int* index) {
*index = 0; // 假设第一个元素是最大值
for (int i = 1; i < length; i++) {
if (arr[i] > arr[*index]) {
*index = i; // 更新最大下标
}
}
}
```
在这个例子中,函数`findMaxIndex`通过指针`index`接收数组的最大值下标。在`main`函数中,我们先初始化一个数组,然后调用`findMaxIndex`函数并将最大下标的地址传递进去。函数内部通过比较找到最大值的下标,然后将其存储在传入的地址指向的位置。
阅读全文