lmnbvcxz1 发表于 2017-11-14 15:32:53

用递归实现数字倒置问题

#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);
}

}


代码如图 为什么能实现倒置啊 求分析。。

BngThea 发表于 2017-11-14 15:56:53

当 n 大于 1 的时候,就会通过getchar函数从输入流中取出一个字符,然后进行递归
当n等于1的时候,递归将层层返回,通过putchar将上面拿到的字符放到输出流中
注意,这里会先拿到前面getchar最后拿到的字符,依次进行就会逆序取得字符串了
页: [1]
查看完整版本: 用递归实现数字倒置问题