C++可以调用自己,这种功能叫做递归
递归函数必须定义一个终止条件,否则函数就会一直递归下去,这意味着函数会一直调用自身直到程序栈耗尽,这叫无限递归错误
包含一个递归调用的递归
void recurs(argumentlist)
{
statements1
if(test)
recurs(arguments)
statemnts2
}
只要 if 语句为 true,每个 recurs() 都将执行 statements 1,然后再调用 recurs(),而不会执行 statements2。当 if 语句为 false 时,当前调用将执行 statement2 ,程序控制权将返回调用它的 recurs() ,而该 recurs() 将执行 tatement2 部分,然后结束,将控制权返回前一个调用,以此类推
包含多个递归调用的递归
在一项工作不断分为两项较小的类似的工作时,使用递归