해결된 질문
작성
·
67
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 민영님.
질문하신 부분에 대해서 이미 유사한 질문이 많습니다. 특정 변수가 어떻게 증가하고 조건문이 어떻게 작동하는지에 대한 부분을 명확히 이해하는 것이 중요합니다. 아래 유사한 사례들에서 더 자세히 설명하고 있습니다.
비교연산자와 반복문+조건문 문제풀이 (15:33 부분 질문)
질문: a++이면 나중에 증가로 알고있는데 a는 나중에 1증가인가요 아니면 조건식이 끝나고 b에 2증가하는 것처럼 바로 1증가시키면 되는건가요?
답변: a++는 나중에 증가가 맞습니다. 예를 들어서 출력문에 들어가있다고 생각해보겠습니다.
int a = 1; printf("%d", a++);
이렇게 하는 경우에는1
이 출력되고, 저 줄이 넘어가면서2
로 바뀝니다.
질문: a,가. 1로. 초기값일때 와일문에들어가고 if문에 b=1가 들어가서 짝수가아니라서. Sum은. -1이되는게 아닌가요?
답변: 맞습니다. 처음에 sum의 값이 -1 되는 것 맞습니다.
int sum = 0
으로 선언되어서 할당되었기 때문에, 첫 번째 반복에서 1을 빼서 -1이 되는 것입니다.
질문: 16:31에서 6까지 간다고 했는데, a가 6이면 while식을 이미 조건 충족하지 않아서 식 진행이 안돼야하는 거 아닌가요? a가 6인데 뒤에 식을 이미 진행 해버린다는 게 무슨 말인지 모르겠어요.
답변: while에 들어갈 때는 a가 5입니다. 아랫 줄에서 연산되면서
a++
가 6으로 변하면서 그제서야 반복문 조건이 충족되지 않기 때문에 빠져나오는 것입니다.
위 링크들을 참고하시어 반복문 내의 변수 증가와 조건문이 어떻게 작동하는지 더 깊이 이해하시길 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
아 다시 풀어보니까 sum= -25 a=6 b=11로 나옵니다!! 감사합니다