다음 C 프로그램의 실행 결과를 쓰시오.
#include <stdio.h>
int calculate(int value) {
int result = -value;
switch (value % 3) {
case 0:
result += 3;
case 1:
result -= 4;
default:
result -= 2;
}
return result;
}
int main(void) {
printf("%d", calculate(7));
return 0;
}모범답안
-13
풀이와 판단 근거
calculate의 지역 변수 result는 -7로 시작한다. 7 % 3은 1이기 때문에 case 1에서 4를 빼서 -11이 된다. case 1 끝에 break가 없으므로 default까지 이어서 수행된다. 2를 더 빼면 최종값은 -13이다.
자주 틀리는 지점
- 연산자 우선순위나 재귀 반환 순서를 생략하고 눈에 보이는 값만 바로 계산함
- 값 전달·참조 전달, 오버라이딩·오버로딩 또는 배열과 포인터의 차이를 혼동함
- 출력의 공백·줄바꿈·대소문자를 무시해 -13와 다른 형식으로 작성함
자동 판정 방식
한글·영문 동의어와 문항별 필수 개념을 확인하며, 정답 단어가 부정되거나 반대 개념과 함께 쓰이면 자동 정답으로 확정하지 않습니다. 부분점수는 ITPASSLAB의 학습용 예상 점수입니다.