#include<stdio.h>

int MaxAndMin(int **max, int **min, int *arr);

int main(void)
{
     int arr[5] = { 1, 2, 3, 4, 5 };
     int *maxPtr = &arr[0];
     int *minPtr = &arr[0];

     MaxAndMin(&maxPtr, &minPtr, arr);
     printf("최대값 : %d 최소값 : %d \n", *maxPtr, *minPtr);
}

int MaxAndMin(int **max, int **min, int *arr)
{
     for (int i = 0; i < 5; i++) {
          if (*max < &arr[i]) {
               *max = &arr[i];
          }
     }
      for (int i = 0; i < 5; i++) {
          if (*min > &arr[i]) {
               *min = &arr[i];
          }
      }
}


이 코드에서 if (*max < &arr[i]), if (*min > &arr[i]) 이 두 부분을

if (*max < arr[i]), if (*min > arr[i])로 바꿔서 출력하면 최대값과 최소값이 반대로 나오더라구요.

왜 &이걸 붙혀서 주소값을 받는데 최대값, 최소값이 바뀌는거에요??