ㅁㅁㅁ
....
void whileN(int n)            --------A
{
   cout<<n<<endl;            ----------출력1
   if(n<=0)
   return;
  
   whileN(n-1);                --------B
   cout<<n<<endl;            ----------출력2
}

int main()
{
   whileN(3)
....}

컴퓨터가 말해준 결과: 3 2 1 0 1 2 3
제가 예상한 결과: 3 2 1 0
이유:
<A>부분에 3이 들어가서, <출력1>에서 \"3\"을 출력하고 if에서 검사받고 해당사항 없으니 다음줄 <B>로 이동.
<B>부분에서 (3-1=2)를 가지고 A부분으로 가서 <출력1>에서 2를 출력하고 if에서 검사받고 다음줄 <B>로 이동.
<B>부분에서 (2-1=1)을 가지고 A부분으로 가서 <출력1>에서 1을 출력하고 검사받고 다음줄 <B>로 이동.
<B>부분에서 0을 가지고 A부분가서 0출력하고 검사받는데 if에서 걸려서  끝.  

ㅁㅁㅁ정확히 말해서 (출력2)부분이 어떻게 실행되는지 이해를 못하겠어요.
그냥  성질만 외우고 넘어가면 나중에 이해될까요? 고1때 이해안되던게, 고2때 아 저건 당연한거였구나 했던것처럼..