爱问知识人 爱问教育 医院库

C程序递归的问题?

首页

C程序递归的问题?

这个递归我不明白。
#include <stdio.h>

void main()
{
    void all4(int m, char AA, char BB, char CC);
    int m;
    scanf("%d",&m);
    all4(m,'AA','BB','CC');
}
void all4(int m, char AA, char BB, char CC)
{
    char all2(char x, char y);
    if(m==1)
    {
        all2(AA,CC);
    }
    else
    {
        all4(m-1,AA,CC,BB);
        all2(AA,CC);
        all4(m-1,BB,AA,CC);
    }
}
char all2(char x, char y)
{
  printf("%c-->>%c\n",x,y);
 
}
尤其是这个地方
    if(m==1)
    {
        all2(AA,CC);
    }
    else
    {
        all4(m-1,AA,CC,BB);
        all2(AA,CC);
        all4(m-1,BB,AA,CC);
    }
我在调试这里的时候老是能不明白,能不能详细的说说。假如我输入了3个盘子数,该怎么运行。

还有就是我在程序中没有输入A,B,C为什么打会打印
3
A-->>C
A-->>B
C-->>B
A-->>C
B-->>A
B-->>C
A-->>C
Press any key to continue

我输入的是AA,BB,CC啊!

我先谢谢大家。

提交回答

类似问题

换一换
  • 软件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):