【题目】利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
#include<stdio.h>
int main()
{
void plain(int n);
int i=5;
plain(i);
printf("\n");
return 0;
}
void plain(int n)
{
char next;
if(n<=1)
{
next=getchar();
putchar(next);
}
else
{
next=getchar();
plain(n-1);
putchar(next);
}
}
【运行结果】
【运行结果分析】
函数调用顺序是这样(简化一下): 刚开始这样的 plain(5) ; print(5) ; 因为上面plain(5) ; 中5 >1 又调用了plain(4) ; 展开了写就成了下面的形式,看一下print的顺序就应该知道了 plain(5) plain(4) plain(3) plain(2) plain(1) print(1) print(2) print(3) print(4) print(5)