562129928 发表于 2016-1-8 10:19:46

c语言求助各位坛友!用递归方法,请将输入的5个字符反序打印出来!

#include"stdio.h"

void palin(n)                                  //递归程序部分
{
    char next;
    if(n<=1)
    {
      next=getchar();
      putchar(next);
    }
    else
    {
      next=getchar();
      palin(n-1);                         // 在反序输出的时候,我调试看的这里的n是逐渐加1的,我不懂是为什么!?也就是说我不懂是怎么反序输出的???
      putchar(next);                   //   上面那句话 就是我的问题    谢谢 各位 大牛 指教!!!!!!!!!!!!!!
    }
}

void main()                              //主函数程序部分
{
    int a=8;
    palin(a);
    printf("\n");
}

麦田管理中心 发表于 2016-1-8 23:08:28

执行palin(8)先要执行palin(7),
执行palin(7)先要执行palin(6),
执行palin(6)先要执行palin(5),
执行palin(5)先要执行palin(4),
一下同理,直达palin(1),然后回归。
页: [1]
查看完整版本: c语言求助各位坛友!用递归方法,请将输入的5个字符反序打印出来!