#include
int main()
{
long n, s;
long p;
printf("请输入一个数!\n");
scanf("%ld",&s);
long f(long n)
{
do
{
f(n) = f(n-1) + f(n-2);
f(0) = 0;
f(1) = 1;
p = f(n);
}
while(s < p);
return p;
}
printf("%ld",p);
return 0;
}
C:\Users\人\Desktop\f(n).cpp(9) : error C2601: 'f' : local function definitions are illegal出现这个错误为啥?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- threenewbee 2019-10-20 23:58关注
f(n) = f(n-1) + f(n-2);
这是数学上的写法
程序里只能写
long f(long n)
{
if (n == 0 || n == 1) return n;
return f(n-1) + f(n-2);
}
int main()
{
printf("请输入一个数!\n");
scanf("%ld",&s);
n = 0;
long p;
while ((p = f(n++)) < s);
printf("%ld",p);
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报