你能解释一下递归吗?

Pan*_*ato 0 c recursion

    #include <stdio.h>

    int main()
    {
        reverse(1);
        return 0;
    }

    void reverse(int i)
    {
        if (i > 5)
            exit(0);

        printf("%d\n", i);
        return reverse(i++);
    }
Run Code Online (Sandbox Code Playgroud)

这种递归是如何工作的?

当我跑步时,它1无限打印.我期待输出12345

Jav*_*ier 5

++操作符变量之后时,它执行"后增量"操作,因此当它i在丢弃变量之前递增变量时,表达式结果是原始i,因此每次都调用具有相同值的函数.