heepearssy   2년 전

밑과 같이 코딩을 하여 출력하면 none이 출력이 됩니다 

제 예상으로는 다시 max_int() 함수가 발동돼서 결국엔 6이 발동될 줄 알았는데 말이죠.

여기서 max_int(b,a%b)가 아닌 return max_int(b,a%b)을 쓰면 6이 출력됩니다.

둘의 차이는 무엇인가요?

bluejoyq   2년 전

max_int가 두번 중첩된다고 가정하고 각각 1번 함수, 2번 함수라고 가정하겠습니다.

1. 1번 함수에서 else로 빠져서 2번 함수를 호출합니다.

2. 2번 함수는 a%b==0이기에 결과 값을 return 해 1번 함수로 돌려줍니다.

3. 그러나 1번 함수에서는 호출 후 결과값을 return하지 않고 종료되기 때문에 none이 나옵니다.

댓글을 작성하려면 로그인해야 합니다.