산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C 언어 재귀 마스터하기: 모범 사례와 종료 조건

재귀는 자기 유사한 방식으로 항목을 반복하는 과정입니다. 프로그래밍 언어에서 프로그램이 같은 함수 내부에서 함수를 호출하도록 허용하면, 이를 함수의 재귀 호출이라고 합니다.

void recursion() {
    recursion(); /* 함수가 자기 자신을 호출 */
}
int main() {
    recursion();
}

C 프로그래밍 언어는 재귀, 즉 함수가 자기 자신을 호출하는 것을 지원합니다. 하지만 재귀를 사용할 때 프로그래머는 함수에서 빠져나갈 종료 조건을 신중하게 정의해야 합니다. 그렇지 않으면 무한 루프에 빠지게 됩니다.

재귀 함수는 팩토리얼 계산, 피보나치 수열 생성 등 많은 수학적 문제를 해결하는 데 매우 유용합니다.

숫자 팩토리얼

다음 예제는 재귀 함수를 사용하여 주어진 숫자의 팩토리얼을 계산합니다.

Live Demo
#include <stdio.h>
unsigned long long int factorial(unsigned int i) {
    if (i <= 1) {
        return 1;
    }
    return i * factorial(i - 1);
}
int main() {
    int i = 12;
    printf("Factorial of %d is %d\n", i, factorial(i));
    return 0;
}

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 나옵니다.

Factorial of 12 is 479001600

피보나치 수열

다음 예제는 재귀 함수를 사용하여 주어진 숫자에 대한 피보나치 수열을 생성합니다.

Live Demo
#include <stdio.h>
int fibonacci(int i) {
    if (i == 0) {
        return 0;
    }
    if (i == 1) {
        return 1;
    }
    return fibonacci(i - 1) + fibonacci(i - 2);
}
int main() {
    int i;
    for (i = 0; i < 10; i++) {
        printf("%d\t\n", fibonacci(i));
    }
    return 0;
}

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 나옵니다.

0
1
1
2
3
5
8
13
21
34

C 언어

  1. C# Hello World – 첫 C# 애플리케이션 만들기
  2. C# 키워드와 식별자 이해: 규칙, 목록, 모범 사례
  3. C# 변수와 기본 데이터 타입 완벽 가이드
  4. C# 연산자 – C# 연산자 종합 가이드
  5. C# 비트 연산자와 시프트 연산자 완전 정복: 종합 가이드
  6. C# 기초: 입출력(Essential Input/Output) 완벽 가이드
  7. C# 식, 문, 블록: 개념과 실전 예제로 완벽 이해
  8. C# 주석 마스터하기: 종류, 모범 사례, XML 문서화
  9. C# break 문: 사용법과 활용 시점 완벽 가이드
  10. C# continue 문: 루프 반복 건너뛰기 완벽 활용법