递归求斐波那契数放回值

AC_YE 2020-06-01 07:52:03
在函数那里定义了result 然后返回,这个result不是一个局部参数?作用域不是只在函数定义里?返回时result不应该消失?
...全文
66 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
真相重于对错 2020-06-02
  • 打赏
  • 举报
回复
不是你理解的,返回时发生了复制,原封不动的把值复制给了调用者
潇湘游子 2020-06-02
  • 打赏
  • 举报
回复
函数返回是先把值给获取者,再释放
chxchxkkk 2020-06-01
  • 打赏
  • 举报
回复
函数返回值和函数参数不是一个概念哦
qybao 2020-06-01
  • 打赏
  • 举报
回复
你这个result意义不大,只是相当于一个临时变量,也就是和以下代码等价的 else return fib(n-2)+fib(n-1); 所以result纯属可有可无,也就是说你这个result只是临时保存了一下返回值,然后就返回了。 函数结束后局部变量的内存空间却是是被回收,也就是局部变量消失了,但作为返回值返回的结果被保留在调用函数的地方(否则就没法获取函数返回值了),所以返回值可以被打印出来
Simple-Soft 2020-06-01
  • 打赏
  • 举报
回复
那个result没有累加,所以有问题

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧