鱼C论坛

 找回密码
 立即注册
查看: 2664|回复: 8

函数遇上return之后就不会在运行return下的代码了?

[复制链接]
发表于 2015-11-9 22:24:03 | 显示全部楼层 |阅读模式
5鱼币
函数遇上return之后就不会在运行return后面的代码了?

最佳答案

查看完整内容

必须的! return 就直接 函数返回 汇编层面上 函数调用时候是call -> 相当于push eip+5, jmp xxxx(跳到函数地址) return, 汇编代码是ret-> 相当于pop eip+5, 跳到函数调用的下一个指令地址 即直接将之前进入函数时保存的地址 push eip+5 返回到eip这个指令寄存器 直接改变cpu接下来要执行指令的地址 ps:大爱古德里安 虽然我最爱是隆帅
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-11-9 22:24:04 | 显示全部楼层
本帖最后由 ryxcaixia 于 2015-11-10 08:45 编辑

必须的! return 就直接 函数返回
汇编层面上 函数调用时候是call -> 相当于push eip+5, jmp xxxx(跳到函数地址)
return, 汇编代码是ret-> 相当于pop eip+5, 跳到函数调用的下一个指令地址
即直接将之前进入函数时保存的地址 push eip+5 返回到eip这个指令寄存器
直接改变cpu接下来要执行指令的地址

ps:大爱古德里安 虽然我最爱是隆帅

评分

参与人数 1荣誉 +3 鱼币 +5 收起 理由
~风介~ + 3 + 5 热爱鱼C^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-11-10 09:05:39 | 显示全部楼层
是的。函数的结束代码是return,遇到这个关键词,函数就会返回一个值或者null。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-11-10 15:47:58 | 显示全部楼层
嗯,直接返回值了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-11-12 19:47:11 From FishC Mobile | 显示全部楼层
必须直接返回了 然后函数就执行完毕了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-11-12 20:04:20 | 显示全部楼层
如果函数执行了return语句,那么函数的生命就结束了,return 语句后面的代码都不会执行。所以准确的说,函数里只能执行一次return语句。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-11-13 13:56:12 | 显示全部楼层
return 语句用来从一个函数返回即跳出函数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-11-14 12:30:53 | 显示全部楼层

return 语句用来从一个函数返回即跳出函数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-11-17 14:17:05 | 显示全部楼层
return后表示这个函数结束,如果你还想执行相应代码可以用finally
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 01:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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