← 회차 전체 문제정처LAB 자체 제작내용 검수 완료정처LAB 정보처리기사 필기 자체 제작 1회 · 프로그래밍 언어 활용 · C 저장 클래스 · 72번
다음 C 함수 f를 세 차례 실행했을 때 출력되는 수열은?
void f(void) {
static int n = 0;
printf("%d ", ++n);
}
int main(void) {
f();
f();
f();
}
- 1
1 1 1
오답 이유자동 지역 변수처럼 매번 초기화된다고 보면 1 1 1이지만 static은 값을 유지합니다. - 2
1 2 3
정답 근거정적 지역 변수 n은 한 번 0으로 초기화된 뒤 호출 사이에 값을 유지합니다. 전위 증가 후 출력하므로 1, 2, 3이 차례로 출력됩니다. - 3
0 1 2
오답 이유전위 증가 전에 출력하는 코드가 아니므로 0부터 시작하지 않습니다. - 4
3 3 3
오답 이유각 호출 결과는 즉시 출력되므로 마지막 값 3이 세 번 출력되지 않습니다.
정답·상세해설정답 2번
정적 지역 변수 n은 한 번 0으로 초기화된 뒤 호출 사이에 값을 유지합니다. 전위 증가 후 출력하므로 1, 2, 3이 차례로 출력됩니다.
콘텐츠 기록콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 최종 검수
- 2026-08-14