#include <iostream.h>
long factorial (long a){
if (a > 1) return (a * factorial (a-1));
else return (1);
}
int main () {
long l;
cout << "Type a number: ";
cin >> l;
cout << "!" << l << " = " << factorial (l);
return 0;
}
————————————————————————
long factorial (long a){
if (a > 1) return (a * factorial (a-1));
else return (1);
}
特别是这段,搞不懂他怎么一直相乘的,好像没循环啊,还有return 1是什么意思?
long factorial (long a){
if (a > 1) return (a * factorial (a-1));
else return (1);
}
int main () {
long l;
cout << "Type a number: ";
cin >> l;
cout << "!" << l << " = " << factorial (l);
return 0;
}
————————————————————————
long factorial (long a){
if (a > 1) return (a * factorial (a-1));
else return (1);
}
特别是这段,搞不懂他怎么一直相乘的,好像没循环啊,还有return 1是什么意思?

