c ++递归返回函数无返回

时间:2015-03-05 21:14:09

标签: c++ recursion

在下面的代码中,我递归地编写了一个函数,它应该返回一个值,当两个数字相等时它返回,在函数中我没有使用返回而且她仍在工作,我很喜欢得到它的工作原理的答案?

#include <iostream>
#include <string.h>
using namespace std;

int gcd(int num1, int num2);

void main()
{
    int ret_num = gcd(24, 60);
    cout << ret_num << endl;
}

int gcd(int num1, int num2)
{
    if (num1 == num2)
        return num1;
    else
    {
        if (num1 < num2)
            gcd(num1, num2 - num1);
        else
            gcd(num2, num1 - num2);
    }
}

0 个答案:

没有答案