输入一组数,然后逆序输出
#include<stdio.h>int main( )
{
void fib(int k);
int n;
scanf("%d",&n);
fib(n);
return 0;
}
void fib(int k)
{
int m;
if(k>1)
{
scanf("%d",&m);
fib(k-1);
}
if(k==1)
scanf("%d",&m);
printf("%d ",m);
} 这个是正确的
但如果把这里变成
if(k==1)
{
scanf("%d",&m);
printf("%d ",m);
}
那么就只能输出最后一个数,然后再把这里变成
if(k>1)
{
scanf("%d",&m);
fib(k-1);
printf("%d",m);
}
就又正确了,为什么?