c언어 기초
재귀 함수
달달고냥
2017. 3. 28. 17:47
1. 재귀 함수의 기본적 이해
자기 자신을 다시 호출하는 형태의 함수
#include <stdio.h>
void Recursive(void)
{
printf("Recursive Call! \n");
// Recursive();
}
int main(void)
{
Recursive();
return 0;
}
* 탈출 조건의 필요성
무한 재귀 호출을 피하기 위해서
* 탈출 조건의 이해
#include <stdio.h>
void Recursive(int n)
{
printf("Recursive Call! \n");
if(n==1)
return;
Recursive(n-1);
}
int main(void)
{
int a=2;
Recursive(a);
return 0;
}
팩토리얼(factorial) 계산을 위한 알고리즘
|
|
알고리즘을 코드로 옮기기 위한 pseudo code와 C 코드
// 시작 조건 : n은 0 이상이다. 시작(START) : f(n) 호출 1. 만약에 n이 0이면 1을 반환 2. 그렇지 않다면 n f(n-1)을 반환. 끝(END) |
int f(int n) { if (n==0) return 1; else return n*f(n-1); } |