해결된 질문
작성
·
157
답변 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; }
이런식으로 되어버리면 마지막 출력값이 뻥튀기 될 수 있는 것처럼요.
감사합니다.