#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);
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
- ¥15 linux驱动,linux应用,多线程
- ¥20 我要一个分身加定位两个功能的安卓app
- ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
- ¥15 IAR程序莫名变量多重定义
- ¥15 (标签-UDP|关键词-client)
- ¥15 关于库卡officelite无法与虚拟机通讯的问题
- ¥15 目标检测项目无法读取视频
- ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
- ¥100 求采集电商背景音乐的方法