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日

悬赏问题

  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法