문제
아래 C 코드의 for문을 while문으로 올바르게 변환한 것은 무엇인가?
Cfor(i = 0; i < 10; i++) { sum += i; }
① i=0; while(i<10){ i++; sum+=i; } ② i=0; while(i<10){ sum+=i; i++; } ③ i=0; while(i<10){ sum+=i; } i++; ④ i=0; i++; while(i<10){ sum+=i; }
정답
2번
해설
정답: 2. for문의 초기식, 조건식, 본문, 증감식 순서를 while문으로 옮기면 2번이 된다.
오답 풀이
- 1번: i를 먼저 증가시켜 원래 반복과 결과가 달라진다.
- 2번: 원래 for문과 같은 흐름이다.
- 3번: i++가 반복문 밖에 있어 무한 반복 가능성이 있다.
- 4번: 반복 시작 전 i를 증가시켜 결과가 다르다.
보충 개념 for문은 초기식 → 조건 검사 → 본문 실행 → 증감식 순서로 동작한다.