CScodemini 2019-10-20 21:04 采纳率: 0%
浏览 1546
已采纳

C:\Users\人\Desktop\f(n).cpp(9) : error C2601: 'f' : local function definitions are illegal出现这个错误为啥?

#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;
}

  • 写回答

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);
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 9月9日

悬赏问题

  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信