一个c++小程序解决思路

一个c++小程序
#include <iostream>
void countdown(int n);


int main()
{
countdown(4);
return 0;
}

void countdown(int n)
{
using namespace std;
cout<<"counting down..."<<n<<endl;
if(n>0)
countdown(n-1);
cout<<n<<":kaboom!\n";
cin.get();
}
结果为
counting down...4
counting down...3
counting down...2
counting down...1
counting down...0
0:kaboom!
1:kaboom!
2:kaboom!
3:kaboom!
4:kaboom!
为什么会输出最后4行?
------解决思路----------------------
cout<<n<<":kaboom!\n";
就是为什么会输出最后4行的原因
------解决思路----------------------
当if语句不成立后,你前边的每个被调用的函数countdown(0)、countdown(1)、countdown(2)、countdown(3)、countdown(4)会依次继续执行if下面的语句,所以。。。