下边的小函数结束的条件是什么?
#include <iostream>
using namespace std;
double fact(int n)
{
if (n<=1)
return 1;
return n*fact(n-1);
}
int main ()
{
cout<<fact(5);
getchar();
return 0;
}
程序能够给出正确输出:120
但我不明白程序是怎样结束的 ,n一直在减少,减到小于零的时候也没有满足结束的条件啊(以为根本就没结束的条件)
但程序为什么会有结果呢?
谢谢你的解答~