int main(void)
{
static int i=5;
if(--i)
{
main();
cout<<i<<endl;
}
}
為什麼輸出結果是0000?
菜鳥求詳解啊!麼麼哒
4,3,2,1,0一共5個數,因為0的時候不進if了所以遞歸終止了,然後返回到上一次遞歸也就是i=1的時候,但是這時候實際上i的值是0了所以打印0並且換行,以此類推,
i=2的遞歸,打印 0 換行
i=3的遞歸,打印 0 換行
i=4的遞歸,打印 0 換行
所以是4次0
首先你得理解遞歸的意思