请编写函数,通过数组名作为函数参数的方法传送过来三个数选出最大数和最小数,并通过形参传回调用函数。
时间: 2024-03-08 16:48:29 浏览: 62
下面是一个示例函数,使用指针作为函数参数,并通过指针修改实参数组的值,以返回最大值和最小值。
```c
void find_max_min(int arr[], int* max, int* min) {
*max = arr[0];
*min = arr[0];
for (int i = 1; i < 3; i++) {
if (arr[i] > *max) {
*max = arr[i];
}
if (arr[i] < *min) {
*min = arr[i];
}
}
}
```
在上面的函数中,我们传递了一个整型数组arr,以及两个指针max和min,用于返回最大值和最小值。函数内部,我们首先将max和min初始化为数组的第一个元素,然后使用for循环遍历数组,找到其中的最大值和最小值。在这个过程中,我们使用指针对max和min进行修改,以便在函数返回后,可以获取到正确的结果。
使用该函数的示例代码如下:
```c
int main() {
int a[3];
int max, min;
for (int i = 0; i < 3; i++) {
scanf("%d", &a[i]);
}
find_max_min(a, &max, &min);
printf("max: %d\n", max);
printf("min: %d\n", min);
return 0;
}
```
在上面的代码中,我们首先定义一个长度为3的整型数组a,并使用for循环读取3个整数。然后调用find_max_min函数,将数组a作为参数,并传递指向max和min的指针。最后,在main函数中打印出最大值和最小值的结果。
阅读全文