回顾:函数指针参数
本课属于 Coddy C 学习旅程的“逻辑与流程”单元。第 30 课,共 63 课。
挑战
简单编写一个 C 程序,使用指针参数实现一个函数,用于查找数组中的最小值和最大值。你的程序应该:
- 创建一个名为
findMinMax的函数,该函数接受 4 个参数:- 一个整数数组
- 数组的大小
- 一个指向整数的指针,用于存储最小值
- 一个指向整数的指针,用于存储最大值
- 在
findMinMax函数中,遍历数组以查找最小值和最大值 - 使用解引用运算符,将最小值存储到 min 指针所指向的地址中
- 使用解引用运算符,将最大值存储到 max 指针所指向的地址中
- 在
main函数中,读取一个整数n,表示数组中的元素个数 - 读取
n个整数值,并将它们存储在一个数组中 - 声明两个整数变量
minValue和maxValue,用于存储结果 - 调用
findMinMax函数,传入数组、数组大小,以及minValue和maxValue的地址 - 按照以下格式输出结果:
Minimum: [value]和Maximum: [value]
例如,如果输入是:
5
12 7 23 4 18你的输出应该是:
Minimum: 4
Maximum: 23这个挑战展示了使用多个指针参数的强大技巧:通过一次函数调用返回多个值,让函数能够修改调用它的函数作用域中的变量。
亲手试试
#include <stdio.h>
// TODO:在这里编写 findMinMax 函数
int main() {
int n;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int minValue, maxValue;
// TODO:在这里调用 findMinMax 函数
printf("Minimum: %d\n", minValue);
printf("Maximum: %d\n", maxValue);
return 0;
}逻辑与流程中的所有课
自己练习: C 在线编译器