鱼C论坛

 找回密码
 立即注册
查看: 3502|回复: 9

return是什么?/

[复制链接]
发表于 2016-5-11 10:44:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
int Listempty(Sqlist *L)
{
        if(0==L->length)
                return 1;
                else
                        return 0;
}

为什么这个函数可以简化成这个样子?

int Listempty(Sqlist *L)
{
        return(L->length==0);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-11 14:56:54 | 显示全部楼层
如果你是被调用的函数里面有一个return,那就是返回调用它的那个函数了,如果你是主函数,你return了的话那程序就结束了。还有就是return后面可以跟一个值,也就是你返回给调用它的那个函数的值
  1. int sum (int a , int b ){
  2. int c = 0 ;
  3. c = a + b ;
  4. return c ;
  5. }
  6. int main (void){
  7.     int a = 0,b = 0 ,c = 0;
  8.    scanf("%d,%d",&a,&b);
  9.    c = sum(a,b);
  10. return 0;
  11. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2016-5-11 15:06:36 | 显示全部楼层
应该是   L->length==0 这个表达式,为真会返回1, 为假返回0, return 的 是表达式的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-11 18:38:05 | 显示全部楼层
等待问题答案过程中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-12 10:06:27 | 显示全部楼层
L->length==0 这个东西会返回一个值(右值), 无非就是0, 1
return 0 或者return 1 无可厚非

return 1反汇编代码大致如下
mov eax, 0x1
ret

ret这玩意就是
pop eip
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-15 11:53:05 | 显示全部楼层
return后面的那一个表达式就是你之前定义的函数前面那个int。比如说y=f(x),return后面表达式的值就相当于f(x)的值,这个值赋值给y。当然,只是在调用的时候这么用。因为你这个返回值是个数据,只要是数据就有类型。这个int就是用来表示你这个f(x)返回的类型的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-15 12:38:21 | 显示全部楼层
简单点说就是return就是说,你用一个函数对吧,肯定是让它进行某些操作,你要这些操作干嘛?就是在屏幕上打印个什么东西吗?不是吧,你肯定需要这个操作得出来一个结果,那这个结果去干一些事情,对吧,那这个结果就由return来取出来的或者说返回出来的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-16 22:48:05 | 显示全部楼层
目前只是初级学了python,在python里面是返回值,这个里面没看懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-12 08:31:13 | 显示全部楼层
L->length==0返回的是一个bool值正好对应0,1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-15 17:39:37 | 显示全部楼层
说得简单些,return就是返回你当前函数的值,就假如你的主函数调用了这个函数,这函数通过 if(0==L->length)这个语句来判断返回值是0还是1,如果是其他函数,返回的值也会不一样
假设你调用一个自己写的计算平方的函数,运用这个return这个语句来把这个计算平方的函数的值返回到主函数中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-24 21:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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