int vesursion(int n)
{
printf("%d\n",n);
if(n>1)
{
printf("递归前n=%d\n",n);
}
else
{
printf("结束递归n=%d\n",n);
}
printf("递归后n=%d\n",n);
}
void main()
{
recursion(3);
}
输出结果:递归前n=3
递归前n=2
递归前n=1
结束递归n=1
递归后n=1
递归后n=2
递归后n=3
递归的核心就在递归后的三个输出,因为程序每进行一次递归都会进行一次压栈,栈是先进后出,因此n=3时第一次递归,n=1最后一次递归,因此递归后先出输出3,最后输出1.
转载请注明原文地址: https://win8.8miu.com/read-3786.html