1.函数递归
经典案例 汉诺塔hanoi
把盘子从A移到B借助C,再从B移到C借助A()
#include<bits/stdc++.h>
using namespace std;
void move(char A,char B)
{
cout<<A<<"->"<<B<<endl;
}
void hanoi(int n,char A,char B,char C)
{
if(n==1) move(A,C);
else
{
hanoi(n-1,A,C,B);
move(A,C);
hanoi(n-1,B,A,C);
}
}
int main()
{
int n;
cin>>n;
hanoi(n,'A','B','C');
return 0;
}
2.编译预处理
1.宏定义 以字符串的形式替换
带参宏与函数的区别
2.文件包含
3.条件编译
有许多种 #if #elif #else #endif #ifdef #ifndef