0 c
我在下面使用了递归函数的概念,但是从我对概念的理解,代码的输出应该是0,但这里的输出是012345,我不确定它是如何工作的.
有人可以向我解释一下,因为我的大学教授不能这样做.
#include<stdio.h>
#include<conio.h>
int yo(int a)
{
if(a>0)
{
yo(a-1); //using recursion function
}
printf("%d",a); //printing value
}
void main()
{
yo(5);
getch();
}
Run Code Online (Sandbox Code Playgroud)
的printf是递归调用之后; 因此,的"栈" a与-值yo被称为是5,4,3,2,1,0,最后之前yo与参数值-call 0开始打印; 那么1,2,......
使用调试器并试用它!