#include<stdio.h>
void huan(int a);
int main()
{
int n;
scanf("%d",&n);
huan(n);
return 0;
}
void huan(int a)
{
int b;
scanf("%d",&b);
if(a==1) printf("%d ",b);
else {
huan(a-1);
printf("%d ",b);
}
}
为甚么会逆序输出
#include<stdio.h>
void huan(int a);
int main()
{
int n;
scanf("%d",&n);
huan(n);
return 0;
}
void huan(int a)
{
int b;
scanf("%d",&b);
if(a==1) printf("%d ",b);
else {
huan(a-1);
printf("%d ",b);
}
}
为甚么会逆序输出
因为是先递归后输出,那么当递归完了之后,是从最内层的函数开始返回,返回一个打印一个,所以是最后一个找到的数开始打印的
类似堆栈,先进后出
如果把printf写在递归之前,就是正序输出