#include <stdio.h>
void MaxAndMin(int * ar, int ** mnpt, int ** mxpt)
{
int i;
int max, min;
max=min=ar[0];
for(i=0; i<5; i++)
{
if(ar[i]<min)
{
min=ar[i];
*mnpt = &ar[i];
}
if(ar[i]>max)
{
max=ar[i];
*mxpt = &ar[i];
}
}
}
int main(void)
{
int * minPtr;
int * maxPtr;
int arr[5], i;
for(i=0; i<5; i++)
{
printf(\"%d번째 수 입력 : \", i+1);
scanf(\"%d\", &arr[i]);
}
MaxAndMin(arr, &minPtr, &maxPtr);
printf(\"최소값 : %d, 최대값 : %d \\n\", *minPtr, *maxPtr);
return 0;
}
숫자 5개를 입력받은 후 함수랑 포인터를 사용해서 최소값, 최대값 출력하는 쉬운 예제문제인데
아무거나 큰 숫자를 입력하면 실행 될 때가 있는데 1,2,3,4,5를 입력하면 실행이 안되고
그니까 어떤건 실행이 되고 어떤건 실행이 안됨
저좀 구제해주세요
void MaxAndMin(int * ar, int ** mnpt, int ** mxpt)
{
int i;
int max, min;
max=min=ar[0];
for(i=0; i<5; i++)
{
if(ar[i]<min)
{
min=ar[i];
*mnpt = &ar[i];
}
if(ar[i]>max)
{
max=ar[i];
*mxpt = &ar[i];
}
}
}
int main(void)
{
int * minPtr;
int * maxPtr;
int arr[5], i;
for(i=0; i<5; i++)
{
printf(\"%d번째 수 입력 : \", i+1);
scanf(\"%d\", &arr[i]);
}
MaxAndMin(arr, &minPtr, &maxPtr);
printf(\"최소값 : %d, 최대값 : %d \\n\", *minPtr, *maxPtr);
return 0;
}
숫자 5개를 입력받은 후 함수랑 포인터를 사용해서 최소값, 최대값 출력하는 쉬운 예제문제인데
아무거나 큰 숫자를 입력하면 실행 될 때가 있는데 1,2,3,4,5를 입력하면 실행이 안되고
그니까 어떤건 실행이 되고 어떤건 실행이 안됨
저좀 구제해주세요
실행이 안된다는건 뭔지,,,,
max=min=ar[0]; 이줄 다음에, *mnpt = *mxpt = &ar[0]; 이거 추가.
고기고기님 감사합니다 역시 프갤은 굉장히 훈훈하네염