본문/내용
1. 다음은 출금 서비스를 위한 보기용 프로그램이다. 프로그램의 14, 16, 28, 29, 31, 32, 41행에서 변수 참조 규칙을 어기고 있는데, 그 이유를 설명하시오.
C 언어는 변수의 범위(scope)와 유효성(lifetime)에 따라 변수를 참조할 수 있는 규칙을 가지고 있다. 이 프로그램에서는 특정 줄에서 이러한 규칙을 어기고 있는 부분이 발견된다. 변수 참조 규칙을 어기는 경우, 일반적으로 다음과 같은 문제를 초래하게 된다. 먼저, 프로그램의 14행, 16행, 28행, 29행, 31행, 32행, 41행에서 해당하는 변수들이 어떤 범위와 생명주기를 가지고 있는지를 살펴보면, 특정 변수들이 블록(scope) 밖에서 참조되고 있는 경우가 많다. C 언어에서는 변수의 유효 범위가 다음과 같이 결정된다. 전역 변수는 프로그램 전체에서 참조할 수 있지만, 지역 변수는 선언된 블록 내에서만 유효하다. 이처럼 변수를 선언한 위치에 따라 참조할 수 있는 범위가 달라지는데, 이 규칙을 어기는 경향이 제기된다. 예를 들어, 14행이나 16행에서 지역 변수를 참조하고 있다면, 이러한 지역 변수들은 해당 블록이 종료되면 메모리에서 소멸한다. 따라서 블록을 벗어난 부분에서 지역 변수를 참조하…