본문 바로가기
개발 공부/C언어

#3 C언어 재귀함수를 쉽게 풀어서 설명해보았습니다.

by 반달bear 2022. 7. 31.
반응형

 

열혈 c 프로그래밍 Part01 도전 8 답안

문제 : 2의 n승을 구하는 함수를 재귀적으로 구하기

#include<stdio.h>

int practice (int); //재귀함수

int main(){
    int num;

    printf("숫자를 입력하세요 : ");
    scanf("%d",&num);
    printf("%d",practice(num));
    
    return 0;
}

int practice (int num){ //재귀함수
    if (num==1)
        return 2;
    else
        return 2*practice(num-1);
}

아래 코드를 손으로 그려서 최대한 재귀함수를 쉽게 풀어보려고 노력했습니다...

 

아래는 재귀함수를 최대한 이해하기 쉽게 표현하려고 노력한 결과입니다.... 글씨체 무엇...

num에 4를 넣었을 때 아래와 같이 함수의 복사본이 계속 만들어지고 if에 있는 마지막 return 2에 걸려서 종료됩니다.

 

 

반응형

댓글