求助 关于上楼梯的递归解法
就是那道经典的上楼梯题:n阶楼梯,每次上一层或两层,问共有几种走法。我以前学pascal的,根据以前的方法编了如下程序:
#include <stdio.h>
void main()
{
int n; long sum;
long calc(int);
scanf("%d",&n);
sum=calc(n);
printf("%ld\n",sum);
}
long calc(int n)
{if (n=1) return(1);
if (n=2) return(2);
if (n>2) {return(calc(n-1)+calc(n-2));}
}
比如输入n=3,那么结果显然是3,但是程序结果是1,然后我用code::blocks的单步调试实在不爽,所以,来求助啦
请问哪里出了问题呢?