인프런 커뮤니티 질문&답변

A나분의너님의 프로필 이미지
A나분의너

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

비교연산자와 반복문+조건문 문제 풀이 (v2)

출력값이 왜 -25인지 이해가 안 가요

해결된 질문

작성

·

152

0

조건반복문 문제 중 while반복문에서 6이 들어가면 충족되지 않으니 실행 안 되고 빠져나오는 거 아닌가요?

답변 1

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요? 말씀하신대로 a가 6인 상태에서는 반복문으로 들어갈 수는 없습니다.

영상에서 설명드린 것처럼, a가 5로 들어간 다음에 반복문 내부에서 a++;로 6으로 올라갑니다.

 

그 다음에 반복문에서 a가 6이기 때문에 실행이 안되고 빠져나오는 것입니다.

 

지금 상황은 a가 5로 들어갈 때 이미 b가 -16입니다. 거기까지는 이해를 하셨을까요?

그 뒤에는 b는 9인 상태로 반복문에 진입합니다.

 

지금 sum의 값은 -16입니다.

거기에서 b는 홀수(9)이기 때문에 sum -= 9가 됩니다.

-16에서 -9를 해야하는 것이죠.

 

그래서 마지막 출력값이 -25가 되는 것입니다.

 

반복문의 조건과 반복문 내부에서 변하는 값을 잘 보셔야합니다.

만약에 a가 5보다 작을 때 참인 조건문이 있다고 하더라도, (a<5)

반복문 안에서 if(a==5) { a+= 300; } 이런식으로 되어버리면 마지막 출력값이 뻥튀기 될 수 있는 것처럼요.

 

감사합니다.

A나분의너님의 프로필 이미지
A나분의너

작성한 질문수

질문하기