프로그래밍

 3198, 1/160 회원가입  로그인  
   sophiz
   http://-
   [c언어]재귀함수 배우는데 질문좀 드릴게요...

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=6292 [복사]


Dev-c++ 이용하던중에..

#include<stdio.h>
#include<stdlib.h>

void Recursive(int num) // 1. 첫번째 질문
{
if(num<=0)
return;                                                      //2. 두번째 질문
printf("Recursive call :%d \n", num);
Recursive(num-1);
}
int main(void)
{
Recursive(5);

system("PAUSE");
return 0;
}

첫번째 질문은요... 전역함수에서도 Recursive함수 쓰이나요?
두번째 질문은.. return함수는 반환인자 int형같은게 있어야 쓰일수 있지않나요??
초보라서.. 저 반환형은 if문에서 0이 return을 거쳐갈때 어떻게 되는지 궁금합니다..

  Hit : 4284     Date : 2013/01/01 04:29



    
hinata31 1. Recursive 함수가 main함수에 쓰이기 때문에 메인앞에다가 쓰신거 같아요.
혹은 저는 메인앞에다가 void Recursive(int); 식으로 선언만 해두고 메인 뒤쪽에다가 써서 하는 편이에요

2. 반환형은 함수명앞에 써있는데 Recursive함수 반환형이 void이기 때문에 return값이 없는거에요 ㅎ.

3. 메인 함수에서 Recursive함수에 5를 입력 시켜 시작한뒤 Recursive(num-1);을 통해서 num값이 1씩 줄어들게되며
결국 0이 되면 if의 조건문인 num<=0에서 참이되기에 함수가 종료됩니다 ㅎㅎ
2013/01/12