我是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。
答案 0 :(得分:8)
返回工作完美,只是你的代码没有使用它。
对factorial(num)
的调用不产生输出,只产生返回值。如果要打印,请添加cout << factorial(num) << endl;