用递归实现数字倒置问题
#include "stdio.h"main()
{
int i=5;
void palin(int n);
printf("\40:");
palin(i);
printf("\n"); }
void palin(n)
int n;
{
char next;
if(n<=1)
{
next=getchar();
printf("\n:");
putchar(next);
}
else
{
next=getchar();
palin(n-1);
putchar(next);
}
}
代码如图 为什么能实现倒置啊 求分析。。 当 n 大于 1 的时候,就会通过getchar函数从输入流中取出一个字符,然后进行递归
当n等于1的时候,递归将层层返回,通过putchar将上面拿到的字符放到输出流中
注意,这里会先拿到前面getchar最后拿到的字符,依次进行就会逆序取得字符串了
页:
[1]