C언어에서 재귀함수 사용법을 알려주세요

재귀 함수에는 세 가지 요구 사항이 있습니다.

1. 재귀의 종료 지점, 즉 재귀 함수의 종료

2.

3. 재귀 함수의 주요 내용, 즉 재귀 함수가 수행해야 하는 작업

ps: 일반적으로 3은 2 앞이나 뒤에 올 수 있고, 1은 일반적으로 먼저 배치됩니다. 또한 2와 3은 필요에 따라 결합될 수 있습니다. 예를 들어 재귀 함수의 본체는 하위 함수를 호출하여 얻은 결과를 반환하는 것입니다.

구체적인 예는 다음과 같습니다: void?fun(int?n)

{

if(nlt;=0)?return; ?재귀의 끝점, 즉 종료

fun(n-1) //2. 재귀 함수 자체의 호출

coutlt;lt ;nlt;lt;endl;?//3 ?재귀 함수의 주요 내용

}

2,3 병합 상황 int?fun(int?n)

{

if(nlt;=0)?return?0;

return?fun(n-1) fun(n-2);?//2 ?3 병합

}