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啊! 我先谢谢大家。
答:public class BB { static int sum; void Sum50(int a) { int i=a; sum=sum+i; if(i>0...详情>>