鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: csuyiqi

[已解决]return问题求解

[复制链接]
发表于 2020-6-29 21:47:50 | 显示全部楼层    本楼为最佳答案   
csuyiqi 发表于 2020-6-29 21:40
咦,这个我是理解了的,但是你看看我上面的那一个,当is_palindrome(aba, 2, 0)时,2>0 return 1.
这时 ...

你理解了,那么你也该理解改成你这样 最后返回的 1 又不是最开始的函数 ,而是你递归重新进入的函数

递归进入的函数的是他的返回值 你只有 return 接受递归 才能接受到他返回的 1

就是 return is_palindrome(n, start+1, end-1) 才能接受他最终返回的 1

而你 :
is_palindrome(n, start+1, end-1)
return 1
是接受不到你最后递归到的 1 的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-29 21:48:41 | 显示全部楼层
csuyiqi 发表于 2020-6-29 21:46
不行啊,你试一下,输入aba,她显示不是回文联

你代码发我  我都不懂你把代码改成什么样了。。。我怎么测试呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-29 21:53:36 | 显示全部楼层
Twilight6 发表于 2020-6-29 21:47
你理解了,那么你也该理解改成你这样 最后返回的 1 又不是最开始的函数 ,而是你递归重新进入的函数

...

懂了懂了,谢谢谢谢,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-29 21:55:00 | 显示全部楼层
csuyiqi 发表于 2020-6-29 21:53
懂了懂了,谢谢谢谢,

懂了就好~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-30 07:50:23 | 显示全部楼层
csuyiqi 发表于 2020-6-29 21:07
当运行到start > end 的函数的时候不是会返回1嘛

可是第一次运行时start是不可能大于end的,后面递归的返回值会被丢弃掉。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 07:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表