다음 C 함수가 values = {-3}, count = 1로 호출될 때 실행되는 문장 번호를 순서대로 쓰시오.
int normalize(int values[], int count) {
int index = 0; // ①
while (index < count) { // ②
if (values[index] < 0) { // ③
values[index] = -values[index]; // ④
}
index++; // ⑤
}
return 1; // ⑥
}모범답안
① → ② → ③ → ④ → ⑤ → ② → ⑥
풀이와 판단 근거
①에서 index=0으로 초기화한다. ②의 0<1이 참이므로 반복문에 들어가고, ③에서 values[0]의 -3<0이 참이라 ④가 실행되어 값이 3으로 바뀐다. ⑤에서 index가 1이 된 뒤 ②를 다시 검사하면 1<1은 거짓이다.
반복문을 빠져나가 ⑥을 실행하므로 순서는 ①→②→③→④→⑤→②→⑥이다.
자주 틀리는 지점
- while 조건 ②가 반복 종료 직전에도 한 번 더 평가된다는 점을 누락함
- 음수 조건이 참인데도 ④를 건너뛰거나 ④에서 배열 값이 양수로 바뀌는 것을 놓침
- 문장 번호의 실행 순서를 묻는데 최종 배열 값만 답함
자동 판정 방식
한글·영문 동의어와 문항별 필수 개념을 확인하며, 정답 단어가 부정되거나 반대 개념과 함께 쓰이면 자동 정답으로 확정하지 않습니다. 부분점수는 ITPASSLAB의 학습용 예상 점수입니다.