return_returning - CSDN
return 订阅
函数是C语言的基本构件,一个C程序可以由一个主函数和若干个子程序函数构成,由主函数调用其它子程序函数,其他子程序函数也可以互相调用。通常希望通过函数调用使主函数能得到一个确定的值,这就是函数的返回值。 [1] 展开全文
函数是C语言的基本构件,一个C程序可以由一个主函数和若干个子程序函数构成,由主函数调用其它子程序函数,其他子程序函数也可以互相调用。通常希望通过函数调用使主函数能得到一个确定的值,这就是函数的返回值。 [1]
信息
外文名
return
概    念
需要用void声明其类型
属    于
计算机语言
中文名
return
解    释
返回到主调函数继续执行
语    言
C语言、C++等
return简介
在C语言中通过函数实现模块化程序设计思想,即用函数实现功能模块的定义,然后通过函数之间的调用来实现程序功能。因此函数有主调函数和被调函数。参数是主调函数和被调函数进行信息通信的接口,在函数的定义和说明语句中,我们将函数名后面括号中的参数称为形式参数,简称“形参”,在主调函数的调用语句中函数名后面括号中用的参数称为实际参数,简称“实参”。当函数被调用时实参要向形参传递数据,函数调用并完成一定的功能后也要向主调函数返回一些数据。 [2]  return 表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。 return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
收起全文
精华内容
参与话题
  • return的用法是什么?

    万次阅读 多人点赞 2018-05-03 15:05:57
    1.背景介绍return表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。 return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算...

    1.背景介绍

    return

    表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。 return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码), 主调函数可以通过返回值判断被调函数的执行情况。

    2.知识剖析

    返回值是必须有的,作用就是把固定不变的。常用的代码封装起来 写在类里 每次用到的时候就调用就行了 如果需要这个共能返回一个值, 甚至一个对象 就需要用返回值了就是用return来把把值返回给调用的者return 语句会终止函数的执行并返回函数的值。
                    
                        比如:
                        function a(){
                        return 10;//这个时候,函数a的值会等于10,并且函数中下面的内容不再执行
                        document.write(50);//由于上面已经return了,这条代码不会执行
                        }
                    
                    
    至于什么时候会用到,那看你要函数来做什么,你要他返回值就返回,不要他返回就不返回。 比如,用函数来做一个加法运算,需要他返回值,那就这样
                    
                        function  a( b, c ) {
                        return b  + c;
                        }
                        那么调用:
                        var abc = a(5, 80);
                        这个时候,abc这个变量的值会是85
                        如果想直接输出结果,不要返回值那就
                        function a( b, c ) {
                        document.write( b + c );
                        }
    
                        这个时候调用, var abc = a(5, 80);
                        那么页面会输出85,但abc是没有值的;
                    
                    
    也可以说默认函数是没有返回值的。 通常函数经过一系列处理后需要给外部返回一个值或者对象
    
                    比如function sum(a,b){return a+b};
                    alert(sum(1,2))==>3
                            
    如果没有return将会弹出undefined

    3.常见问题

    若用在for循环中用到了return,还会执行下一次循环吗?

    4.解决方案

                    
                        function counter() {
                        for (var count = 1;  count++) {  // infinite loop
                        console.log(count + "A");
    
                        return;                         //直接就返回了,下面的代码不会再执行
    
                        console.log(count + "B");
                        }
                        console.log(count + "C");
                        }
    
                        counter();
    
                        // Output:
                        // 1A
                    
                    

    中断功能,函数立即停止在该点return被调用。

                    
                        function counter() {
                        for (var count = 1; ; count++) {  // infinite loop
                        console.log(count + "A"); // until 5
                        if (count === 5) {
                        return;
                        }
                        console.log(count + "B");  // until 4 (因为在5的时候,就已经return了)
                        }
                        console.log(count + "C");  // never appears (因为这个c写在了for循环的外面)
                        }
    
                        counter();
    
                        // Output:
                        // 1A
                        // 1B
                        // 2A
                        // 2B
                        // 3A
                        // 3B
                        // 4A
                        // 4B
                        // 5A
                    
                    

    5.编码实战

                    
                        function abc(a,b) {
                        var c = a + b;
                        return c;
                        }
                        var d=abc(5,9);
                        alert(d);===>14;
                    
                

    6.扩展思考

    除了return,还有哪些可以让for循环中断呢?

    就是break 跟 continue ;

    break

    break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。 由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。 如果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多。

    continue

    continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。 continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!

    [dié dài]

    迭代

    迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。 每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

    函数

    在数学中,迭代函数是在碎形和动力系统中深入研究的对象。迭代函数是重复的与自身复合的函数,这个过程叫做迭代。

    7.参考文献

    参考:峰峰师兄

    参考:冲冲老师

    8.更多讨论

    什么是迭代,或者你已经联想到了递归,想深入了解「递归」和「迭代」有哪些区别?

    参考:我是冲冲,我为疑难杂症代言!点我

    问题:

    1.for循环中用到return会中断循环吗?

    会的。

    2.除了return,还有什么可以中断for循环?

    break和continue

    3.return和break的区别是什么?

    点击打开链接


    展开全文
  • return的作用

    千次阅读 2018-12-04 21:18:46
    return的常用作用有以下两种 一种是返回参数所用的关键字,假如一个有返回值的方法执行完了之后需要返回一个参数,示例: public string functionTest(){ String a = “abc”; return a; } 那么这个方法被调用之后就...

    return的常用作用有以下两种
    一种是返回参数所用的关键字,假如一个有返回值的方法执行完了之后需要返回一个参数,示例:
    public string functionTest(){
    String a = “abc”;
    return a;
    }
    那么这个方法被调用之后就会返回一个值为abc的字符串,string result = functionTest();

    第二种用法是,代码执行到此处终止。
    比如当代码执行到某个地方会出现几种结果,然后其中一种结果就不能执行后续代码,这时候在那里加上一个return就可以终止后面的代码执行。

    展开全文
  • return--返回值

    千次阅读 2019-01-29 00:36:28
    1、return语句的作用:a、返回一个值,这个值可以是任意类型。b、使程序返回到操作系统(即终止程序) 2、java中对于一个函数,不论有没有返回值类型,都可以带有return 语句。 但是区别在于,return 语句是否可以...

    1、return语句的作用:a、返回一个值,这个值可以是任意类型。b、使程序返回到操作系统(即终止程序

    2、java中对于一个函数,不论有没有返回值类型,都可以带有return 语句
    但是区别在于,return 语句是否可以返回一个值(这取决与该函数的返回值类型)。

    a、如果函数有返回值类型(即返回值类型不为void ),则必须带有返回相应类型值的return 语句。
    b、如果函数没有返回值(即返回值类型为void ),则函数中return 语句(如果存在return语句!)的后面不能加任何的变量。(该情况下的函数中也可以没有return 语句,但是如果有的话,return 只能作为返回操作系统的作用使用。)

    每个函数必须要有返回值么,为什么需要返回值,返回值是干什么的?

    不是每个函数都必须要返回值,返回值其实就是参数,可以把他当做函数里的一个参数,就像SQL语句里的子查询一样,只不过是在里面做好了查询,返回的只是一个参数而已,因为需要这个参数才能进行下面的程序,所以说返回值看情况需不需要写,有需要就写,没有需要就不写。

        public Json AbnormalMaintenance(String ids, String tStatus, String year, HttpSession session)
        {
            Json j = new Json();
            if(StringUtils.isBlank(ids)) {
                j.setSuccess(false);
                j.setMsg("id不能为空");
            }
            if(StringUtils.isBlank(year)) {
                j.setSuccess(false);
                j.setMsg("学年不能为空");
            }
            //去除id的双引号
            ids = ids.replace(SysCode.STRING.DOUBLE_QUOTION_MARKS, StringUtils.EMPTY);
            if(StringUtils.isBlank(ids)) {
                j.setSuccess(false);
                j.setMsg("id不能为空");
            }
            SessionInfo sessionInfo = (SessionInfo)session.getAttribute(Contans.SESSION_BEAN);
            List<RoleInf> roleInfs = sessionInfo.getOperInf().getRoleInfs();
            RoleInf roleInf = null;
            if (null != roleInfs && roleInfs.size() > 0)
            {
                roleInf = roleInfs.get(0);
            }
            if (roleInf.getRoleCd().equals(adminRoleConfig.getSchoolAdminRole()))
            {
                String news = teacherService.abnormalMaintenance(ids, tStatus, year);
                j.setSuccess(true);
                j.setMsg(news);
            }
            else
            {
                j.setSuccess(false);
                j.setMsg("教师异常维护功能仅限于园管使用");
            }
            return j;
        }
        public String abnormalMaintenance(String ids, String tStatus, String checkYear)
        {
            String news = new String();
            String[] nids = ids.split(",");
            String year = getCurrentYear();
            int success = 0;
            int error = 0;
            for (int i = 0; i < nids.length; i++)
            {
                DfTeacher oldDfteacher = getById(DfTeacher.class, nids[i]);
                //勾选的信息为审核通过,进行维护
                if ("3".equals(oldDfteacher.getAuditStateCode()))
                {
                    //勾选的 老师的当前学年等于当前学年,进行维护
                    if (checkYear.equals(oldDfteacher.getYear()))
                    {
                        oldDfteacher.setTStatus(tStatus);
                        oldDfteacher.setIsInterim("1");
                        oldDfteacher.setAuditStateCode("3");//修改审批状态code
                        oldDfteacher.setAuditState("审核通过");//审核状态为审核通过
                        oldDfteacher.setAuditNode(3);
                        update(oldDfteacher);
                        success++;
                    }
                    else
                    {
                        DfTeacher teacher = new DfTeacher();
                        //判断当前学年 有没有这个人,如果有不操作
                        boolean exist = isExistTeacher(oldDfteacher.getSchoolId(),
                            oldDfteacher.getCardCategory(),
                            year,
                            oldDfteacher.getIdCard(),
                            StringUtils.EMPTY);
                        if (exist)
                        {
                            error++;
                        }
                        else
                        {
                            String[] sonArray = new String[] {"dfDiplomas", "dfWorks", "dfWages", "dfEngages", "dfOverseas",
                                "dfCertificates", "dfTrains", "dfLearns", "dfLearnBests", "dfProfessions", "dfChecks",
                                "dfTeacherClasses", "dfHonor", "dfPager", "dfPageward", "dfPunish", "dfReward", "dfTopic",
                                "dfResearch"};
                            BeanUtils.copyProperties(oldDfteacher, teacher, sonArray);
                            teacher.setTStatus(tStatus);
                            teacher.setIsInterim("0");
                            teacher.setAuditStateCode("3");//修改审批状态标识
                            teacher.setAuditState("审核通过");//审核状态为审核通过
                            oldDfteacher.setAuditNode(3);
                            save(teacher);
                            //设置状态
                            sonArraySave(oldDfteacher, teacher);
                            success++;
                        }
                    }
                }
            }
            if(error != 0) {
                news = "成功维护" + success + "条信息,当前学年存在数据,不能维护" + error + "条" ;
            }else {
                news = "成功维护" + success + "条信息" ;
            }
            return news;
        }
        

    就像上面一样,子函数abnormalMaintenance返回的就是news,也是一条信息,因为我需要这条信息打印到页面,所以就返回这条信息,母函数AbnormalMaintenance则用String news接受一下就可以了,最后返回给页面的是这条信息。

    展开全文
  • return的用法

    千次阅读 2018-08-02 17:08:33
    在有反回值的方法中,返回方法指定类型的值,同时结束方法执行;... return是使整个函数返回的,后面的不管是循环里面还是循环外面的都不执行 1.可以在具有对象引用返回类型的方法中返回null publi...
    在有反回值的方法中,返回方法指定类型的值,同时结束方法执行;
    也可以用在返回值为void的方法中,用来终止方法运行;
    

    break和return

    break是用来跳出循环的,例如for,while,do-while都可以跳出,但不跳出函数
    return是使整个函数返回的,后面的不管是循环里面还是循环外面的都不执行

    1.可以在具有对象引用返回类型的方法中返回null

    public Button doStuff(){
        return null;
    }

    2.数组是完全合法的返回类型

    public String[] go(){
        return new String[]{"wangsan","wangsan","wangsi"};
    }

    3.在具有基本返回类型的方法内,可以返回任何值或变量,只要他们可以隐式转换成所声明的返回类型

    public int foo(){
        char c=‘c’;
        return c;//char可以转化成int
    }

    4.在具有基本返回类型的方法内,可以返回任何值或变量,只要他们可以显示强制转换成所声明的返回类型(这个不举例子了)

    5.一定不能从返回类型为void的方法返回任何值(^_^),当然可以用return中断程序。

    public void bar(int a){
        //负数则中断操作,
        if(a<0){
        return;
        }
        //do other things
    }

    6.在具有对象引用返回类型的方法内,可以返回任何值或变量,只要他们可以隐式转换成所声明的返回类型(通过is-a测试即可)

    public Animal getAnimal(){
        return new Dog();//只要Dog继承Animal即可
    } 
    展开全文
  • return的用法是什么?若在for循环中,还会执行下一次循环吗?】 return的用法是什么,若在for循环中,还会执行下一次循环吗? 一、背景介绍 什么是return? return 语句的作用是从当前函数退出,并从那个...
  • return 0和return 1和return -1的区别

    万次阅读 多人点赞 2019-05-27 12:21:01
    return语句用来结束循环,或返回一个函数的值。 return 0:一般用在主函数结束时,按照程序开发的一般惯例,表示成功完成本函数。 return -1::表示返回一个代数值,一般用在子函数结尾。按照程序开发的一般惯例...
  • C++中return 0;与return;的区别

    万次阅读 2018-03-30 12:07:53
    return语句有两种形式:1.return;//不带返回值的return语句2.return 0;//带返回值的return语句,或者返回一个变量或一个函数。不带返回值的return语句用于,中断返回值为void类型的函数的执行,而带返回值的return则...
  • returnreturn false的区别

    万次阅读 2019-01-03 19:55:56
    returnreturn false的区别 1. return返回null,起到中断方法执行的效果,只要不return false事件处理函数将会继续执行,表单将提交 2. return false,事件处理函数会取消事件,不再继续向下执行。比如表单将...
  • return 0和return的区别

    千次阅读 多人点赞 2019-03-12 14:14:37
    return语句有以下形式: return;//不带返回值的return语句 return 0;//带返回值的return语句,或者返回一个变量或一个函数。 return 1//表示函数异常结束 不带返回值的return语句用于,中断返回值为void类型的函数...
  • c++中关于return的用法总结

    万次阅读 2009-11-08 16:24:00
    return是C++预定义的语句,它提供了种植函数执行的一种放大。当return语句提供了一个值时,这个值就成为函数的返回值. turn,有必要提及主函数的定义。很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是...
  • C语言中return 0和return 1和return -1

    万次阅读 多人点赞 2017-12-10 20:24:10
    return语句用来结束循环,或返回一个函数的值。 return 0:一般用在主函数结束时,按照程序开发的一般惯例,表示成功完成本函数。 return -1::表示返回一个代数值,一般用在子函数结尾。按照程序开发的一般惯例,...
  • break,continue,return的区别

    万次阅读 多人点赞 2012-05-29 16:27:57
    break,continue,return的区别 最近总使用到这3个关键字,所以想总结一下他的用法.    1)break 直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试。他只能跳出一层循环,...
  • 转载自:《http://blog.csdn.net/exsuns/article/details/5217669》 [java] view plaincopy ...class TestTryFinallyC {   public static void main(String[] args) {   System.ou
  • 一直不屑于作web,结果最近1年都在与web打交道,今天遇到一个问题,在javascript中常见到 这样的应用,与没有加return有什么区别呢?找到这样一文,共享之,感谢原作者的工作。转自:...
  • return 与 finally 的执行顺序对返回值的影响 对于 try 和 finally 至少一个语句块包含 return 语句的情况: finally 语句块会执行 finally 没有 return,finally 对 return 变量的重新赋值修改无效 try 和 ...
  • 情况一:try中有return,catch和finally中没有return 情况二:try和finally中都有return 情况三:将情景一中的返回值类型改为引用类型 结论 参考文章 对于做Java开发的程序员来说,异常捕获似乎已经是再稀松...
  • Call 和 Return 使用

    千次下载 2020-07-26 23:30:07
    关于 Call 和 Return 使用方法的汇编源代码
  • JS中return有时会遇到这种情况,具体表现为: google浏览器等浏览器可以继续执行,IE浏览器不能执行return,并且 google浏览器:执行时会显示SyntaxError: Illegal return statement; IE浏览器: 问题原因:'return' ...
  • js中return的作用及用法

    千次阅读 2017-01-05 15:21:07
    这里面的return含有一些细节知识: ...例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别 ...JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnv
  • return finally

    千次阅读 2015-08-15 19:32:59
    public boolean returnTest() { try { return true; } catch (Exception e) { } finally { return false; } } 返回 false
1 2 3 4 5 ... 20
收藏数 12,089,346
精华内容 4,835,738
关键字:

return