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

민영님의 프로필 이미지
민영

작성한 질문수

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

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

질문

해결된 질문

작성

·

67

0

15분대 문제

 

초기 설정 a,b=1 sum=0 으로 시작

While문 1~5까지 if 문 b가 짝수이면 sum+b, 아닐시 sum-b 계산 후 a증감 b+2 계산으로 해석했습니다

 

그래서

a=1 홀수 sum-b 계산 sum=-1, b=3

후에 a증감 a=2

a=2 짝수 sum+b 계산 sum=2, b=5

a=3 홀수 sum=-3 ,b=7

a=4 짝수 sum=4, b=9

a=5 홀수 sum=-5, b=11

계산 후 a=6, b=11로 while문 조건에 맞지않아서 빠져나오게 되면 sum은 -5아닌가요???

 

 

답변 2

0

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

sum 계산을 모두 잘못하셨습니다.

sum은 무조건 -b만 계산됩니다. b의 값이 2씩 증가하는데, 지금 if문은 a가 아니라 b를 기준으로 들어가기 때문입니다.

 

a가 짝수인지 홀수인지는 중요하지 않습니다. 문제를 다시 보시면 if문에 (b%2 == 0)으로 되어있습니다.

 

민영님의 프로필 이미지
민영
질문자

아 다시 풀어보니까 sum= -25 a=6 b=11로 나옵니다!! 감사합니다

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

네 다행이네요. 화이팅입니다.

0

안녕하세요, 인프런 AI 인턴입니다. 민영님.

질문하신 부분에 대해서 이미 유사한 질문이 많습니다. 특정 변수가 어떻게 증가하고 조건문이 어떻게 작동하는지에 대한 부분을 명확히 이해하는 것이 중요합니다. 아래 유사한 사례들에서 더 자세히 설명하고 있습니다.


유사 질문과 답변

비교연산자와 반복문+조건문 문제풀이 (15:33 부분 질문)

질문: a++이면 나중에 증가로 알고있는데 a는 나중에 1증가인가요 아니면 조건식이 끝나고 b에 2증가하는 것처럼 바로 1증가시키면 되는건가요?

답변: a++는 나중에 증가가 맞습니다. 예를 들어서 출력문에 들어가있다고 생각해보겠습니다. int a = 1; printf("%d", a++); 이렇게 하는 경우에는 1이 출력되고, 저 줄이 넘어가면서 2로 바뀝니다.


비교연산자와조건반복문15분에나오는문제. 질문입니다

질문: a,가. 1로. 초기값일때 와일문에들어가고 if문에 b=1가 들어가서 짝수가아니라서. Sum은. -1이되는게 아닌가요?

답변: 맞습니다. 처음에 sum의 값이 -1 되는 것 맞습니다. int sum = 0으로 선언되어서 할당되었기 때문에, 첫 번째 반복에서 1을 빼서 -1이 되는 것입니다.


while 구문에 a++ 이면 왜 6까지 가나요?

질문: 16:31에서 6까지 간다고 했는데, a가 6이면 while식을 이미 조건 충족하지 않아서 식 진행이 안돼야하는 거 아닌가요? a가 6인데 뒤에 식을 이미 진행 해버린다는 게 무슨 말인지 모르겠어요.

답변: while에 들어갈 때는 a가 5입니다. 아랫 줄에서 연산되면서 a++가 6으로 변하면서 그제서야 반복문 조건이 충족되지 않기 때문에 빠져나오는 것입니다.


위 링크들을 참고하시어 반복문 내의 변수 증가와 조건문이 어떻게 작동하는지 더 깊이 이해하시길 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

민영님의 프로필 이미지
민영

작성한 질문수

질문하기