문제 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 입니다. 조건을 만족하면 반복문 자체가 즉시 끝납니다.
첫 반복을 따라가 봅시다.
num++→num = 1(1 % 4 == 0) || (1 % 6 == 0)→거짓 || 거짓→거짓- 앞의
!때문에if조건은 참 →break실행
즉 num이 1일 때 곧바로 반복문을 빠져나오므로 sum += num은 한 번도 실행되지 않습니다.