#include <stdio.h>

int f(int n)

{
 if (n == 0)
  return 1;                      <<<<<<<  /////////// 이부분을 함수를 종료하는 키워드 return ; 으로 대체하면 전혀 다른값이 출력되는데요. 그 이유가 뭘까요? 
 else
  return n*f(n - 1);
}


///////////////////////////////////////////////////////////////////////////////////





int main(void)

{
 int input;
 int result;


 printf("수를 입력하세요:");
 scanf("%d", &input);



 if (input < 0)
 {
  printf("0이상의 수를 입력하세요:");
  return ;
 }



 result = f(input);

 printf("%d의 팩토리얼 값:%d ", input, result);


   


 return 0;
}