학원에서 배운 내용인데요.
재귀 함수가 자기 자신을 다시 호출하는 거잖아요.
아래 printData 보면 만약 nData 가 0보다 작을때 종료가 되고 그렇지 않으면
nData 의 값에서 매번 1씩 감소를 시킨후 printf 로 그 감소된 nData의 값이 출력이 되어야 하는데
그러면 5 4 3 2 1 0 이런식으로 출력이 되어야 하는게 아닌가요?..
그런데 0 1 2 3 4 5 이런식으로 출력이 되네요..
반대로 printData(nData -1); ,printf("%d\n", nData); 의 위치를 변경했더니 5 4 3 2 1 0 으로 출력되고..
제가 뭔가 잘못 알고있는건가요? 이해가 잘 안되네요..
--------------코드---------------
#include "stdafx.h"
void printData(int nData);
int main()
{
printData(5);
return 0;
}
void printData(int nData)
{
if (nData < 0)
return;
printData(nData -1);
printf("%d\n", nData);
}