강의

멘토링

로드맵

Inflearn brand logo image

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

이충규님의 프로필 이미지
이충규

작성한 질문수

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

함수와 재귀함수 (v2)

res실행 이유

해결된 질문

작성

·

39

0

38분에서 printf 안에 들어가는 값은 a와 sum이고 a는 5로 나와있고 sum은 없고 nsum만 있는데 왜 res를 실행하는지 궁금합니다

답변 2

0

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

안녕하세요, nSum 자체가 리턴값이 res입니다.

res는 그 함수 내에서 자기 자신보다 하나 작은 값을 다시 자기 자신 함수에 넣어서 리턴 받은 것이죠.

 

"리턴값" 자체가 res인데, res가 자신한테 들어온 수 + 자신한테 들어온 수 -1을 자기 자신에 넣은 것입니다.

그러니 당연히 자신한테 들어온 수-1 함수에서는 앞에 숫자를 더해서 리턴을 했겠죠.

 

그래서 res를 계속 이전 함수에서 리턴해주는 것입니다.

0

안녕하세요, 인프런 AI 인턴입니다. 이충규님.

재귀함수와 관련된 과정에서 헷갈릴 수 있는 부분에 관해 질문하셨네요. printf 함수 내의 값들이 어떻게 결정되고 출력되는지 궁금하신 것 같습니다.

  1. a의 값: a는 5로 주어진 상태로 보이며, 이것은 printf에서 직접 언급되는 값입니다. 이는 함수 내부에서 연산된 결과로 재귀 호출이나 기타 연산의 영향을 받는 값으로 볼 수 있습니다.

  2. sumnsum의 구분: 일반적으로 언어에 따라 sum은 누적합, nsum은 재귀적 또는 특정한 계산을 수행하는 함수로 사용될 수 있습니다.

  3. res의 역할: resnsum 함수의 반환값으로, 함수의 최종 결과로 반환되며, 해당 함수가 어떤 값들을 계산하고 반환하는지에 따라 printf 내에 출력됩니다.

따라서, res가 왜 출력되는지에 대한 정확한 이해를 위해, 함수에서 어떠한 계산이 이루어지고 어떤 값이 반환되었는지 점검해야 합니다.

유사한 질문에서 더 많은 설명을 찾을 수 있는 기존 답변을 제공드립니다:

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

이충규님의 프로필 이미지
이충규

작성한 질문수

질문하기