电脑网络

麻烦给出这个程序的解析过程因为我不知道fun干嘛的

346 浏览

麻烦给出这个程序的解析过程 因为我不知道fun干嘛的

1 个回答

pond用户头像
pond 回答于 2024-07-20
已采纳

提问:麻烦给出这个程序的解析过程因为我不知道fun干嘛的

{int a=5;fun(a);printf("\n");}fun(int k){if(k>0)fun(k-1);printf("%d",k);}结果为:_______________

网友回答:

这个程序分为了两部分:

{

int a=5;

fun(a);

printf("\n");

}

这是第一部分:主函数,目的是将a=5带入功能函数fun()

第二部分为:

fun(int k)

{

if(k>0)

fun(k-1);

printf("%d",k);

}

在主函数里fun(a);则将5带入了第二部分里,即此时k的值为5,那么看if(k>0,只有k是大于0的,就会执行fun(k-1);相当于一层套一层在k=5,里面再放一层执行k-1=4,再在k=4里面放一层。当k=0是,就不需要在套入函数fun(k-1),此时k=5的情况在最外面,k=0的情况在最里面。

程序运行从里面往外依次运行,于是输出是倒的,即为012345

为此我还进行了检验,证明我说的结论正确:

还有问题吗,谢谢采纳,Thanks♪(・ω・)ノ


我来回答

相关问题