为什么回归不起作用?

时间:2016-08-19 17:34:48

标签: c++ return

我是c ++的初学者,我正在尝试使用递归编写阶乘。 但是,return不知何故不起作用。这是我的代码:

#include <iostream>

using namespace std;

int factorial(int num) {
    if(num == 1) {
        return 1;
    }
    return num * factorial(num - 1);
}

int main() {
    int num;
    cout << "Please enter a number and I will do its factorial : ";
    cin >> num;
    factorial(num); 
}

任何人都可以告诉我为什么return无法工作?

顺便说一句,我在mac上使用了sublime。

1 个答案:

答案 0 :(得分:8)

返回工作完美,只是你的代码没有使用它。

factorial(num)的调用不产生输出,只产生返回值。如果要打印,请添加cout << factorial(num) << endl;