可以分析一下下面这段程序的运行结果吗?为什么是012345

问题描述:


#include <stdio.h>
fun(int k)
{
    if(k>0)
    fun(k-1);
    printf("%d",k);
}
int main()
{
    int w=5;
    fun(w);
    printf("\n");
    return 0;
}

函数的作用是递归,当递归到0后才开始printf输出
当然你可以改成
fun(int k)
{
printf("%d",k);
if(k>0) fun(k-1);
}
这样就输出54321