我们已经看到,递归是重复执行子程序中包含的指令。反过来,这类似于循环的工作。有些编程语言根本不存在循环结构,例如 Prolog。
我们来模拟一下for循环的运行。
for 循环包含一个计步器变量。在递归子程序中,这样的变量可以作为参数传递。
//LoopImitation() 过程有两个参数
//第一个参数–计步器,第二个参数——总步数
void LoopImitation(int i, int n)
{
输出 << “你好” <<我 <<结束; // 对 i 的任何值重复的运算符
if (i < n) //直到循环计数器等于值n,
{ //使用 i+1 参数调用过程的新实例(转到下一个 i 值)
LoopImitation(i+1, n);
}