프로그래밍/C | 2015. 4. 22. 23:50
재귀적 함수 호출
함수 내에서 자기 자신을 다시 호출하는 형태이다.
재귀적 함수 호출은 부담스럽지만 어렵고 복잡한 문제를 쉽게 해결 할 수 있다.
자료구조와 알고리즘에서는 빠질 수 없는 개념.
n! 팩토리얼 계산.
#include <stdio.h>
int f(int n);
int main(void)
{
int val, result;
printf("정수 입력 : ");
scanf("%d", &val);
if(val < 0)
{
printf("0 이상을 입력해야 합니다. \n");
return 1;
}
result = f(val); //팩토리얼 계산.
printf("%d!의 계산결과 : %d \n", val, result);
return 0;
}
int f(int n)
{
if(n == 0) //n이 0이면 1을 반환
return 1;
else // 아니면 n* (n-1)을 반환.
return n*f(n-1);
}
[C언어] 데이터 영역(Data Area), 스택 영역(Stack Area), 힙 영역(Heap Area) (0) | 2015.04.25 |
---|---|
[C언어] strlen, strcpy, strncpy, strcat, strncat, strcmp, strncmp (0) | 2015.04.25 |
[C언어] 표준 입 출력과 버퍼(Buffer) (0) | 2015.04.25 |
[C언어] puts,fputs, gets, fgets, (0) | 2015.04.25 |
[C언어] 포인터, const 키워드 (0) | 2015.04.23 |
[C언어] 문자열 상수, 포인터 배열 함수 (0) | 2015.04.23 |
[C언어] static 변수, register 변수 (0) | 2015.04.22 |
[C언어] printf, scanf, %e, %E (0) | 2015.04.22 |
[C언어] 리터럴(literal) 상수, 심볼릭(Symbolic) 상수 (0) | 2015.04.22 |
[C언어] sizeof 연산자, double형, unsigned (0) | 2015.04.22 |
Recent Comments