반응형
열혈 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에 걸려서 종료됩니다.
반응형
'개발 공부 > C언어' 카테고리의 다른 글
#5 C언어 (++i, i++) 후위연산 전위연산 차이점 쉽게 이해하는 법 (0) | 2022.07.31 |
---|---|
#4 C언어 main에서 return 0, return -1 의 뜻 (0) | 2022.07.31 |
#2 C언어 double과 float의 서식문자 %lf, %f 뭘 사용해야 하는걸까? (0) | 2022.07.31 |
#1 C언어의 루트와 지수함수 사용하는 법 <math.h> (0) | 2022.07.31 |
[열혈 C 프로그래밍] 도전! 프로그래밍4, 도전3번 정답 (0) | 2022.07.30 |
댓글