在满足基本条件后,程序不会在递归中终止循环

时间:2017-09-02 06:05:19

标签: c recursion while-loop

为什么在满足基本条件后控件返回到程序的顶部?它应该只是执行递归调用后出现的行。 {output 54322233}显示控件返回到代码顶部:

fopen()

2 个答案:

答案 0 :(得分:0)

您的代码正在实施 递归和迭代!让我们分开两个:

迭代:

void print(int a)
{
    while (a >= 1)
    {
        printf("%d\n", a);
        a--;
    }
}

递归:

void print(int a)
{
    if (a >= 1)
    {
        printf("%d\n", a);
        print(a - 1);
    }
}

答案 1 :(得分:-1)

 #include<iostream>
using namespace std;

void print(int a);

int main() {

int a = 10;
print(10);

}      void print(int a)     {         而(a!= 5)

a--;
cout << a << endl;
}

// a的值应大于5 //所以递归将停在5