문제
아래 C 코드의 수행 결과로 옳은 것은?
C#include <stdio.h> int main() { int a = 10, b = 0, c = 0; while (a-- > b) { b++; c++; } printf("%d", c); return 0; }
① 4 ② 5 ③ 6 ④ 7
정답
2번
해설
정답: 2. 조건 검사 후 a가 감소하고 반복마다 b와 c가 증가하여 총 5회 반복된다.
오답 풀이
- 1번: 반복 횟수를 하나 적게 계산한 값이다.
- 2번: c는 5가 된다.
- 3번: 반복 횟수를 하나 많게 계산한 값이다.
- 4번: 반복 조건을 잘못 추적한 값이다.
보충 개념 후위 감소 연산자는 현재 값을 먼저 비교에 사용한 뒤 값을 감소시킨다.