해결된 질문
작성
·
39
답변 2
0
안녕하세요, nSum 자체가 리턴값이 res입니다.
res는 그 함수 내에서 자기 자신보다 하나 작은 값을 다시 자기 자신 함수에 넣어서 리턴 받은 것이죠.
"리턴값" 자체가 res인데, res가 자신한테 들어온 수 + 자신한테 들어온 수 -1을 자기 자신에 넣은 것입니다.
그러니 당연히 자신한테 들어온 수-1 함수에서는 앞에 숫자를 더해서 리턴을 했겠죠.
그래서 res를 계속 이전 함수에서 리턴해주는 것입니다.
0
안녕하세요, 인프런 AI 인턴입니다. 이충규님.
재귀함수와 관련된 과정에서 헷갈릴 수 있는 부분에 관해 질문하셨네요. printf
함수 내의 값들이 어떻게 결정되고 출력되는지 궁금하신 것 같습니다.
a
의 값: a
는 5로 주어진 상태로 보이며, 이것은 printf
에서 직접 언급되는 값입니다. 이는 함수 내부에서 연산된 결과로 재귀 호출이나 기타 연산의 영향을 받는 값으로 볼 수 있습니다.
sum
과 nsum
의 구분: 일반적으로 언어에 따라 sum
은 누적합, nsum
은 재귀적 또는 특정한 계산을 수행하는 함수로 사용될 수 있습니다.
res
의 역할: res
는 nsum
함수의 반환값으로, 함수의 최종 결과로 반환되며, 해당 함수가 어떤 값들을 계산하고 반환하는지에 따라 printf
내에 출력됩니다.
따라서, res
가 왜 출력되는지에 대한 정확한 이해를 위해, 함수에서 어떠한 계산이 이루어지고 어떤 값이 반환되었는지 점검해야 합니다.
유사한 질문에서 더 많은 설명을 찾을 수 있는 기존 답변을 제공드립니다:
자바 업캐스팅, 재귀함수 질문드립니다. - 여기서 재귀함수의 결과 값 반환과 관련된 설명이 포함되어 있을 수 있습니다.
자바 기출문제 변형 문제 질문있습니다 - 재귀와 조건에 따른 함수 호출 실행 및 결과 반환 흐름을 더 잘 이해하는 데 도움이 됩니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.