为什么输出是这样的
											main(){
int w=5;
fun(w);
printf("\n");
}
fun(int k)
{
if(k>0) fun(k-1);
printf("%d\t",k);
}
为什么输出是 0 1 2 3 4 5
 2006-12-25 18:32
	    2006-12-25 18:32
  [此贴子已经被作者于2006-12-25 20:06:08编辑过]

 2006-12-25 20:03
	    2006-12-25 20:03
  入栈:
fun(5),fun(4),fun(3),fun(2),fun(1),fun(0);
1.执行fun(0),输出0;return;出栈;
2.执行fun(1)中的printf;retrun;出栈;
3.执行fun(2)中的printf;return:出栈;
.
.
.
执行fun(5)中的printf;return;出栈
执行main中的printf;
个人意见

 2006-12-25 20:07
	    2006-12-25 20:07
   2006-12-25 20:24
	    2006-12-25 20:24
   2006-12-25 20:28
	    2006-12-25 20:28
  

 2006-12-25 23:16
	    2006-12-25 23:16
   2006-12-25 23:34
	    2006-12-25 23:34
   2006-12-26 12:32
	    2006-12-26 12:32
   2006-12-26 13:07
	    2006-12-26 13:07
  
















好耐心。。。楼主应该感谢斑主。。。。这是最好的解释了										

 2006-12-26 15:08
	    2006-12-26 15:08