求助请问大神以下printN函数是怎么实现递归输出的呀?新人求助!!
#include <stdio.h>
void printN(int N)
{
if(N)
{
printN(N-1);
printf("%d\n",N);
}
return;
}
main()
{
int n;
scanf("%d",&n);
printN(n);
}
求助请问大神以下printN函数是怎么实现递归输出的呀?新人求助!!
#include <stdio.h>
void printN(int N)
{
if(N)
{
printN(N-1);
printf("%d\n",N);
}
return;
}
main()
{
int n;
scanf("%d",&n);
printN(n);
}
**
递归调用其实就是产生了一个函数调用链条
比如给个参数 3 printN(3) -> printN(2) -> printN(1) -> printN(0) 最后一个函数if判断为假 调用链条终止 然后原路返回
printN(3) 返回后输出3 <-- printN(2) 返回后输出2 <-- printN(1) 返回后输出1 <-- printN(0)
bingo
**