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