以递归方式调用函数并将其存储到int中给我1?

时间:2015-03-16 23:00:32

标签: c++ recursion

此代码运行良好,用于查找两个数字之间的最大因子,但我想知道为什么num打印出它的作用(对于此示例,在程序结束时为1 1 1 3)。我很困惑为什么我们可以将一个函数存储到一个int然后我们得到一个数字?为什么它给我们1?

#include <iostream>

using namespace std;

int LargestFactor(int number, int start)
{
  if(start == number)
   return 1;
  int num = LargestFactor(number, start+1);
  cout << num;
  if (num ==1 && number % start == 0)
   return start;

 return num; 

}

int main()
{
  LargestFactor(6,2);

}

0 个答案:

没有答案