재귀함수에 대해서 질문있습니다.
차오름
2023.04.01
질문 제목 : 재귀함수 공부 중인데 몇가지 질문있습니다. 팩토리얼 코드에 대해서
질문 내용 :
#include stdio.h
long fac(int n);
int main(void)
{
int n,a;
printf(정수를 입력하세요:);
scanf(%d,&n);
fac(n);
printf(%d!=%d,n,fac(n));
}
long fac(int n)
{
printf(fac(%d)\n,n);
if(n=1)
return 1;
else
return n*fac(n-1);
}
이런식으로 facn부분이 두번 출력이 됩니다.
붉은색으로 표시한 printf(%d!=%d,n,fac(n));을
a=fac(n); printf(%d!=%d,n,a);로 바꾸면 facn 부분에 한번만 출력 되고요
이유가 무엇때문인지 알고 싶습니다.