编写一个函数,找出一个整数数组中的最大值和最小值,要求使用指针作为函数参数。

打开网易新闻 查看精彩图片

#include

void find_max_min(int *arr, int size, int *max, int *min) {

*max = *min = arr[0];

for (int i = 1; i < size; i++) {

if (arr[i] > *max) {

*max = arr[i];

if (arr[i] < *min) {

*min = arr[i];

int main() {

int arr[] = {3, 8, 2, 10, 5};

int size = sizeof(arr) / sizeof(arr[0]);

int max, min;

find_max_min(arr, size, &max, &min);

printf("最大值是 %d\n", max);

printf("最小值是 %d\n", min);

return 0;

这个程序实现了一个函数find_max_min,该函数接受一个整数数组、数组大小以及两个指针,用于存储数组中的最大值和最小值。函数内部通过遍历数组找到最大值和最小值,并将其存储到指针所指向的变量中。

main函数中,我们声明了一个整数数组arr,并初始化为{3, 8, 2, 10, 5}。我们通过sizeof(arr) / sizeof(arr[0])计算出数组的大小,然后声明两个整数变量maxmin,用于存储最大值和最小值。

接着,我们调用find_max_min函数,传入数组、数组大小以及指向maxmin变量的指针。函数会找到数组中的最大值和最小值,并将其存储到maxmin变量中。

最后,通过printf函数打印出最大值和最小值。