본문 바로가기
개념/혼자 공부하는 C언어

chapter 7) 재귀함수 호출

by kiseno 2024. 7. 12.
728x90
반응형
SMALL
#include <stdio.h>

void fruit(void);

int main(void){
    fruit();

    return 0;
}

void fruit(void){
    printf("apple\n");
    fruit();
}

 

1. main() 함수
   1-1. `fruit(1);`를 호출하여 `fruit` 함수를 처음 실행. 인자로 1을 전달

2. fruit 함수
   2-1. "apple"을 출력
   2-2. `if(count == 3)` 조건을 검사하여 count가 3일 때 함수 실행을 종료(return;)하여 더 이상의 재귀 호출을 방지
   2-3. `fruit(count + 1);`를 통해 자기 자신을 다시 호출하면서 count를 1씩 증가. 이 과정을 count가 3이 될 때까지 반복

두 번째 프로그램 설명:
1. main() 함수
   1-1. `fruit();`를 호출하여 `fruit` 함수를 실행

2. fruit 함수
   2-1. "apple"을 출력
   2-2. `fruit();`를 통해 자기 자신을 무한히 다시 호출. 이 프로그램에는 재귀 호출을 종료할 조건이 없으므로, 실행하면 무한 루프에 빠져 스택 오버플로우가 발생할 수 있음

728x90
반응형
LIST