더북(TheBook)

앞에서 작성한 코드를 기반으로 1~5까지 합을 구하되, 4를 제외한 값을 구하는 프로그램을 작성하려면 어떻게 해야 될까요?

DR_think_iter8.c

#include <stdio.h>
 
main() {
    int i = 1;
    int sum = 0;
    while (i < 11) {
        if (i = = 4) continue; // while 반복문으로 제어 이동 
        if (i = = 6) break;    // while 반복문 종료
        sum += i;
        i++;
    }
    printf("합은 %d\n", sum);
}

아마 너무 쉽게 이렇게 코드를 작성한 사람들이 많을 것으로 예상합니다. 논리적으로 틀리지 않고 문제에 맞게 정확하게 코딩한 것 같지만, 막상 수행해 보면 아무런 결과가 나오지 않습니다.

이유가 무엇일까요?

합에서 4를 제외하므로 i가 4일때 continue 키워드를 사용하는 것은 맞습니다. 그러나 반복문 제어가 어떻게 수행되는지 한 단계 더 깊이 들어가서 생각해 볼 필요가 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.