난이 바보 같은 질문처럼 들릴지 실현,하지만 난 그게 어셈블러에 있던 프로그램의 마지막 시간이 너무 내 생각이있을 수 있습니다 오프 : 그래서재귀 - 파이썬, 반환 값 질문
재귀 함수 :
왜 함수가 n == 0에 도달하면 1을 반환하지 않고 계승 인 대답을 반환하는 이유는 무엇입니까? 나는 그것이 될 것 어셈블러 같은 것을 생각하고 n이 == 0 :
mov eax, 1
ret
않는 이유는 무엇 일, 내가 파이썬 반환하는 조건 전에 스택의 마지막 값을 가정 위의 코드?
+1 : "함수"의 반환 값은 많은 곱셈과 함수 호출을 포함하는 전체 식의 반환 값이 아닙니다. 그것은 "호출 스택"과 함수가 평가되는 컨텍스트에 관한 것입니다. –
'fac (0)'은 1이 아니라 0이 아닙니다. – Gumbo
정말 고맙습니다. 그러나 나는 그것이 내 실수였던 다른 방법이라고 생각했다. 이것은 지금 완벽하게 이해된다, 환호! –