#include<stdio.h> fun(int x) { if(x/2>0) fun(x/2); printf("%d ",x); } void main() { fun(6); printf("\n"); }
试着分析下函数输出,结果是1 3 6。
递归函数在每次被调用时都将创建自己的堆栈,一层一层向上返回。类似与入栈与出栈。
#include<stdio.h> fun(int x) { if(x/2>0) fun(x/2); printf("%d ",x); } void main() { fun(6); printf("\n"); }
试着分析下函数输出,结果是1 3 6。
递归函数在每次被调用时都将创建自己的堆栈,一层一层向上返回。类似与入栈与出栈。