#include <stdio.h> void findMaxMin(int *a, int *max, int *min); void swap(int *a, int *b); int main() { int a[3]; int max, min; int *p1, *p2, *p3; printf("请输入3个整数:\n"); scanf("%d %d %d", &a[], &a[1], &a[2]); p1 = &a[]; p2 = &a[1]; p3 = &a[2]; findMaxMin(p1, &max, &min); printf("最大值为:%d,地址为:%p\n", max, &max); printf("最小值为:%d,地址为:%p\n", min, &min); swap(&max, &min); printf("交换后,最大值为:%d,最小值为:%d\n", max, min); return ; } void findMaxMin(int *a, int *max, int *min) { *max = *min = *a; if (*a > *(a + 1)) { *max = *a; *min = *(a + 1); } else { *max = *(a + 1); *min = *a; } if (*max < *(a + 2)) { *max = *(a + 2); } if (*min > *(a + 2)) { *min = *(a + 2); } } void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; }
时间: 2024-04-06 10:28:52 浏览: 78
这段代码实现了输入3个整数,找出其中的最大值和最小值,并交换它们的值。其中函数 findMaxMin 用于找出最大值和最小值,函数 swap 用于交换两个数的值。在 main 函数中,通过指针获取数组中元素的地址,将地址作为参数传入函数 findMaxMin 中,得到最大值和最小值后再调用函数 swap 交换它们的值。最后输出交换后的最大值和最小值。
阅读全文