#include<stdio.h>
void mian(){
int w=5;
fun(w);
printf("\n");
}
fun (int k)
{
if(k>0)
fun(k-1);
printf("%d",k);
}
网友评论:
这个程序你应该一步一步的跟一下,看一程序一步一步是怎么走的,对于这种自己调用自己的函数确实不太好理解...
第1次调用fun(5),k=5,>0,调用自己fun(5-1);,注意printf(&quot;%d&quot;,k);未执行呢(k=5);
第2次调用fun(4),k=4,>0,调用自己fun(4-1);,注意printf(&quot;%d&quot;,k);未执行呢(k=4);
第3次调用fun(3),k=3,>0,调用自己fun(3-1);,注意printf(&quot;%d&quot;,k);未执行呢(k=3);
第4次调用fun(2),k=2,>0,调用自己fun(2-1);,注意printf(&quot;%d&quot;,k);未执行呢(k=2);
第5次调用fun(1),k=1,>0,调用自己fun(1-1);,注意printf(&quot;%d&quot;,k);未执行呢(k=1);
第6次调用fun(0),k=0,不满足>0,不再调用,执行printf(&quot;%d&quot;,k);此时k=0,即之行第一次输出,输出0,返回到第5次的printf(&quot;%d&quot;,k);k=1,输出1,一次类推,输出2,3,4,5,返回主程序并结束...