c语言选择题

这个70题怎么做,求大佬指示一下,给出解题步骤,谢谢... 这个70题怎么做,求大佬指示一下,给出解题步骤,谢谢 展开
 我来答
三天打鱼N
2019-08-19 · TA获得超过1540个赞
知道大有可为答主
回答量:2032
采纳率:74%
帮助的人:601万
展开全部
如果n是1或2 那 函数的返回值是1
否则 调用函数 传入 n-1 n-2

这个函数调用时传入的是3 所以只会在第一次执行函数时调用两次函数 因为3-1 3-2 满足第一个条件 当满足第一个条件时就返回结果了 不继续调用函数了

调用函数
fun(3,返回值)

3 不满足第一个条件 调用函数 fun(2) fun(1) 在fun函数中满足第一个条件 返回结果1
*p=f1+f2 两次函数调用返回都返回1 所以结果是2
童之新
2019-08-19 · TA获得超过228个赞
知道小有建树答主
回答量:289
采纳率:60%
帮助的人:82.5万
展开全部
第一遍调用fun时,由于n不满足1或2,再次执行fun函数,此时fun(n-1,&f1);即得到f1 = 1;fun(n-2,&f2);即得到f2 = 1;所以*p=2,即s=2;
倘若fun(4,&s);也一样做,第一遍调用fun时,不满足条件递归,即第二次调用fun(3,&f1),发现还是不满足,第三次调用fun(2,&f1)(这个f1跟前面f1是2个完全不同的参数喔),满足条件返回f1=1,执行第二步,fun(1,&f2)得到f2=1,那么最前面的那个f1=*p=f1(这个是第二次的f1)+f2(也是第二次的f2)=2,那么回到第一次调用的fun函数里继续执行fun(2,&f2),这是第4次调用了,满足条件返回f2=1,所以第一次调用的结果为*p=f1+f2=2+1=3,级s=3。多级递归也是这样做,其实这个题的结果也是有规律的,自己试下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式