앞에서 작성한 코드를 기반으로 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 키워드를 사용하는 것은 맞습니다. 그러나 반복문 제어가 어떻게 수행되는지 한 단계 더 깊이 들어가서 생각해 볼 필요가 있습니다.