팩토리얼 질문좀요
마음
2023.04.01
질문 제목 : 팩토리얼 구하는 소스중 리턴값 질문좀요질문 내용 : /* rec_facto.c */
#include stdio.h
int f(int n);
int main(void)
{
int val;
int result;
printf(정수 입력:);
scanf(%d,&val);
if(val0)
{
printf(0이상을 입력해야합니다 \n);
return 1;
}
result=f(val);
printf(%d!의 계산 결과:%d \n,val,result);
return 0;
}
int f(int n)
{
if (n==0)
return 1;
else
return n*f(n-1);
}
빨간색 리턴값을 왜 1로하나요?? 0으로해도 결과는 같던데..
그리고 팩토리얼 이부분 처음해서 제가 이해한게 맞나 질문좀 하겠습니다.
val값이 5가 되엇을때 5*f(4) f(4)가 다시 올라가서 5*4*f(3) 5*4*3*f(2) 5*4*3*2*f(1) 5*4*3*2*1*f(0)
이제 0이 올라가서 if문 들어가서 1의값을 반환해서 5*4*3*2*1*1 이값이 반환되는거 맞나요??