• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

재귀 함수 관련하여 질문이 있습니다.

23.08.06 23:10 작성 조회수 197

0

func fact(n int) int {
	if n == 0 {
		return 1 // 함수 종료
	}
	return n * fact(n-1)
}

return 값을 0,1 값을 줘서 출력을 해봤는데 

0 을 줄 때는 출력이 0 나오고
1 을 줄 때는 120 나오던데 
return 값을 정확하게 이해가 잘 안됩니다 .... 

답변 1

답변을 작성해보세요.

0

안녕하세요.반갑습니다.

fact(0) 일 경우 -> 0 출력

fact(1) 일 경우 -> 1 출력

함수 테스트 결과 정상적으로 수행하는데 결과값이 다르게 나오나 보네요!

다시 한 번 아래 전체코드를 올려드립니다. 참고 부탁드립니다.

 

// Print "Hello World!" message

package main

import "fmt"

func fact(n int) int {

if n == 0 {

return 1 // 함수 종료

}

return n * fact(n-1)

}

func main() {

fmt.Println(fact(10))

}