print语句如何在这里执行四次?

参见英文答案 > Values obtained in case of a recursive function                                    3个
直到i的值保持大于0,main()被递归调用.一旦它变为0,则违反if条件.任何人都告诉我如何执行print语句.当我运行它时,我得到输出0000.谢谢

void main()
{
    static int i=5;
    if(--i)
    {
        main();
        printf("%d",i);
    }
}
i = 4
call main()
    i = 3
    call main()
        i=2 
        call main()
            i=1
            call main()
                i=0
            print 0
         print 0
    print 0
print 0

请记住,我是静态的,因此对函数的所有调用都是通用的.

相关文章
相关标签/搜索