정보처리산업기사 실기 시험 기출 문제 - 최대값과 최소값 찾기
추천 자료: ASP.NET Core 인증 및 권한 부여
문제
다음 C 프로그램이 실행되었을 때의 동작을 설명하고, 출력 결과를 예측하시오.
소스 코드 파일명: max_min_comparison.c
#include <stdio.h>
int compare(int i, int j, int* ma, int* in) {
if (i > j) {
*ma = j;
*in = i;
}
else {
*ma = i;
*in = j;
}
}
int main() {
int max = 0;
int min = 0;
compare(3, 7, &max, &min);
printf("작은수:%d 큰수:%d", max, min);
}
입력 예시
이 프로그램은 사용자로부터 입력을 받지 않습니다.
출력 예시
작은수:3 큰수:7
해설
이 프로그램은 두 수를 비교하여 최소값과 최대값을 찾고, 해당 결과를 포인터를 통해 반환합니다.
compare
함수는 두 정수i
와j
를 인자로 받고, 추가적으로 두 포인터ma
와in
도 받습니다. 이 포인터들은 함수 외부에 선언된 변수max
와min
의 주소를 가리킵니다.- 함수 내에서 두 수를 비교하여,
i
가j
보다 큰 경우ma
포인터를 통해 최소값(작은수)로j
를,in
포인터를 통해 최대값(큰수)으로i
를 저장합니다. 그 반대의 경우ma
는i
를,in
은j
를 저장합니다. main
함수에서는compare
함수를 호출하여 두 수 3과 7을 비교하고, 결과적으로max
변수에는 작은 수,min
변수에는 큰 수가 저장됩니다.- 프로그램의 최종 출력은 "작은수:3 큰수:7"이며, 이는
max
와min
변수의 값에 따라 결정됩니다.
이 프로그램은 포인터를 사용하여 함수에서 복수의 결과값을 반환하는 방법을 보여주며, 변수의 값이 어떻게 변경되는지를 설명하는 좋은 예입니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!