정보처리기능사 실기 시험 기출 문제 - 변수의 값 변경 및 출력
추천 자료: ASP.NET Core 인증 및 권한 부여
문제
다음 C 프로그램이 실행되었을 때의 동작을 설명하고, 출력 결과를 예측하시오.
소스 코드 파일명: variable_update_and_output.c
#include <stdio.h>
int num;
int grow();
main() {
printf("%d", num);
grow();
}
int grow() {
num = 16448000;
}
입력 예시
이 프로그램은 입력을 받지 않습니다.
출력 예시
0
해설
이 프로그램은 전역 변수 num
의 값을 변경하고, 초기와 변경 후의 값을 출력하지만, 주어진 코드에서는 초기 값만 출력하고 프로그램이 종료됩니다.
int num;
는 전역 변수num
을 선언합니다. 전역 변수는 기본적으로 0으로 초기화됩니다.main()
함수가 실행되면,printf("%d", num);
를 통해 전역 변수num
의 현재 값을 출력합니다. 이때,num
은 초기화되지 않았으므로 기본 값인0
이 출력됩니다.grow();
함수를 호출하여num
의 값을16448000
으로 변경합니다. 하지만, 이 변경된 값은 프로그램에서 출력되지 않습니다.grow()
함수에는return
문이 없으며, 반환형이int
로 선언되어 있으나, 이는 C언어의 특정 구현에서는 경고를 발생시킬 수 있습니다. 올바른 실습을 위해서는grow()
함수의 반환형을void
로 변경하는 것이 적절합니다.
이 프로그램은 전역 변수의 사용과 함수 호출을 통한 변수 값의 변경을 보여줍니다. 하지만, 변경된 값이 출력되지 않으므로 프로그램의 전체적인 동작을 이해하는 데 있어 혼란을 줄 수 있습니다. 프로그램이 의도한 바와 같이 변경된 값을 출력하려면, grow()
함수 호출 후 변경된 num
값을 다시 출력하는 코드를 추가해야 합니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!