본문 바로가기
Develop/C

11 C언어 재귀 함수

by 구운밤이다 2016. 7. 2.
728x90
반응형

2016/06/30 - [컴퓨터/C언어] - 10 C언어 함수

오늘은 조금 어려울 수 있는 재귀함수를 배워보도록 할껀데요! 재귀함수의 뜻을 먼저 알아보도록 할게요


void recursive(int n1){

    printf("Recursive func\n");

    if (n1 <= 0) return;

    recursive(n1-1);

}



재귀함수는 이렇게 함수 내에서 자기 자신을 호출하는 함수를 의미해요!! 저렇게 함수 내에서 함수가 실행되면 함수 안에 함수가 쌓인다고 생각하시면 편할것 같아요 만약에 n1이 3이라 가정해봅시다

void recursive(int 3){

    printf("Recursive func\n");

    if (n1 <= 0return;

    recursive(3-1);

}

반환           recursive(2)호출

void recursive(int 2){

    printf("Recursive func\n");

    if (n1 <= 0return;

    recursive(2-1);

}

반환           recursive(1)호출

void recursive(int 1){

    printf("Recursive func\n");

    if (n1 <= 0return;

    recursive(n1-1);

}


이런 식으로 실행됩니다 그리고 처음엔 이 재귀 함수를 이용해서 팩토리얼(factorial)을 많이 배우는데요! 여기 예제와 설명을 올려놓았으니 먼저 고민해 보시고! 보시기 바랍니다~



모르는 것은 댓글이나 쪽지로 남겨주시면 성심 성의껏 답변해드리겠습니다!! 댓글공감구독(이웃추가)는 블로거에게 큰 힘이 됩니다! 부탁드리면서 이번 포스팅을 마치도록 하겠습니다! 지금까지 딘또였습니다.


728x90
반응형

'Develop > C' 카테고리의 다른 글

13-1 C 언어의 배열!  (0) 2016.07.05
12 C언어 변수의 접근 범위!  (0) 2016.07.03
10 C언어 함수  (6) 2016.06.30
9 C언어의 반복문 조절 continue, break, goto  (0) 2016.06.29
8 C언어의 조건문  (0) 2016.06.29

댓글