안녕하세요 길벗수험서 운영팀입니다.
return n*factorial(n-1) 대신 factorial(n)을 말씀하시는 것이라면, 아무 숫자나 넣어보고 디버깅을 하는 것으로도 간단히 어떤 결과가 나오는지 알 수 있습니다.
예를 들어 문제와 같이 main함수에서 factorial(5)를 호출하게 된다면,
if문에서 n은 5를 받아 5<=1이 거짓이니 return factorial(5)를 통해 factorial(5)를 다시 호출할 것이고,
if문에서 n은 5를 받아 5<=1이 거짓이니 return factorial(5)를 통해 factorial(5)를 다시 호출할 것이고,
if문에서 n은 5를 받아 5<=1이 거짓이니 return factorial(5)를 통해 factorial(5)를 다시 호출할 것이고,
.....
이렇게 무한반복하게되겠죠.
행복한 하루되세요 :)
-
관리자2019-08-23 13:45:59
안녕하세요 길벗수험서 운영팀입니다.
return n*factorial(n-1) 대신 factorial(n)을 말씀하시는 것이라면, 아무 숫자나 넣어보고 디버깅을 하는 것으로도 간단히 어떤 결과가 나오는지 알 수 있습니다.
예를 들어 문제와 같이 main함수에서 factorial(5)를 호출하게 된다면,
if문에서 n은 5를 받아 5<=1이 거짓이니 return factorial(5)를 통해 factorial(5)를 다시 호출할 것이고,
if문에서 n은 5를 받아 5<=1이 거짓이니 return factorial(5)를 통해 factorial(5)를 다시 호출할 것이고,
if문에서 n은 5를 받아 5<=1이 거짓이니 return factorial(5)를 통해 factorial(5)를 다시 호출할 것이고,
.....
이렇게 무한반복하게되겠죠.
행복한 하루되세요 :)