팩토리얼
초엘
2023.04.01
int fac(int f){ if(f==1) return 1; else return f*=fac(f-1);}
이렇게 짰는데
1이면 return 1;이 된다고 햇잖아요그럼 1이 출력되야 되는거 아닌가요
-
알프레드
f가 1이나올때까지 계속 호출하는구조네요
-
꼬꼬마
매개변수가 1이라면 1이 출력되는게 당연합니다.
어떤 값이 나오길래 이러한 질문을 하시는거죠? -
가시내
스택 메모리구조부터 공부해야 재귀호출도 이해가됩니다
재귀될때마다 함수는 스택 영역에 쌓인다는 기본상식이 깔려야 동작원리를 이해하죠