挺简单的代码吧,,,就是那个return ......
1 #include <iostream> 2 using namespace std; 3 int n; 4 void hanoi(int n,char src,char mid,char des){ 5 if(n==1){ 6 cout<<src<<"->"<<des<<endl; 7 return ;//这个return 很有必要啊,递归边界.如果没有的话执行完if会继续执行hanoi n-1 8 } 9 hanoi(n-1,src,des,mid); 10 cout<<src<<"->"<<des<<endl; 11 hanoi(n-1,mid,src,des); 12 13 14 } 15 int main(){ 16 cin>>n; 17 hanoi(n,'A','B','C'); 18 }