안녕하세요 길벗수험서 운영팀입니다.
무언가를 혼동하고 계신듯 합니다.
n = calc(3)
위와 같이 프로그래밍 언어에서 함수가 무언가를 호출하고, 그 결과로 100을 돌려받았다고 가정하죠.
그럼 n에 100이 저장되겠죠.
여기서 n에 100이 저장된다는 말은 'calc(3)'이 100으로 치환되었다는 것과 동일합니다.
225쪽의 해설을 기준으로 사용자는 (2*recursive(0)) + 1을 계산할 때, recursive(0)의 결과를 구하기 위해 ⑤번으로 진행하죠.
계산 결과 2가 나오고 ⑥번과 같이 돌려줄 때, 이를 호출했던 recursive(0)이 결과인 2로 치환되면서 (2*2)+1 이라는 계산식으로 바뀌고 이 계산식의 결과가 다시 recursive(1)의 반환값으로 돌려지는 것이죠.
함수에서의 반환값이 호출 명령문 자체와 치환된다는 점에 주의하세요.
행복한 하루되세요 :)
-
관리자2021-07-05 09:32:06
안녕하세요 길벗수험서 운영팀입니다.
무언가를 혼동하고 계신듯 합니다.
n = calc(3)
위와 같이 프로그래밍 언어에서 함수가 무언가를 호출하고, 그 결과로 100을 돌려받았다고 가정하죠.
그럼 n에 100이 저장되겠죠.
여기서 n에 100이 저장된다는 말은 'calc(3)'이 100으로 치환되었다는 것과 동일합니다.
225쪽의 해설을 기준으로 사용자는 (2*recursive(0)) + 1을 계산할 때, recursive(0)의 결과를 구하기 위해 ⑤번으로 진행하죠.
계산 결과 2가 나오고 ⑥번과 같이 돌려줄 때, 이를 호출했던 recursive(0)이 결과인 2로 치환되면서 (2*2)+1 이라는 계산식으로 바뀌고 이 계산식의 결과가 다시 recursive(1)의 반환값으로 돌려지는 것이죠.
함수에서의 반환값이 호출 명령문 자체와 치환된다는 점에 주의하세요.
행복한 하루되세요 :)