Skip to content

문제 11 · while·break 조기 종료

문제 11 [2점]

아래 코드의 num, sum은 어떤 값을 갖는지 쓰시오.

cpp
int num = 0, sum = 0;
while (num < 20) {
    num++;
    if (!((num % 4 == 0) || (num % 6 == 0)))
        break;
    sum += num;
}
풀이 및 해설

문제 10과 달리 이번에는 continue가 아니라 break 입니다. 조건을 만족하면 반복문 자체가 즉시 끝납니다.

첫 반복을 따라가 봅시다.

  1. num++num = 1
  2. (1 % 4 == 0) || (1 % 6 == 0)거짓 || 거짓거짓
  3. 앞의 ! 때문에 if 조건은 break 실행

num1일 때 곧바로 반복문을 빠져나오므로 sum += num한 번도 실행되지 않습니다.

num=1,sum=0

👉 실습(C++)에서 확인하기

PDF