zoukankan      html  css  js  c++  java
  • break,continue,return的区别 x

    这三个东西特别坑,一定要记准了!!

    1)break     直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试。他只能跳出一层循环

    注意:如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出. 
        
    2)continue     也是终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程,但不能终止循环继续进行.     

    3)return 语句可被用来使 正在执行分支程序返回到调用它方法。(我认为这个是比较难理解的)

    那么详细的解说return!因为总是搞混……

    return表示中止当前函数的运行,并将操作权返回给调用者。    
    如果是在main函数中,表示将操作权返回给操作系统。    
       
      return不是必须要返回一个值。    
     

     void   func(void)    
      {    
      ......    
      ......    
      return;    
      }    

       
       
      当然,就算不写return,在函数执行完毕后也会返回操作权给调用者。写return是一种清晰的风格,可以防止一些意外的错误。所以书上只说应该写,而不是必须写。  
      如果符合某个条件要退出的话,可以用return返回,否则可以不写这句代码的,当程序执行到“}”时会自动返回,这个问题其实你自己到机器上试一下就知道了。不过作为一个良好的编程习惯,每个函数都有返回语句倒是对的,这样更有可读性,并利于程序的维护^_^

    return   指令一个是返回一个指定数据给主调函数,  

    另外的一个作用就是   结束   所在函数的执行   ...

      

    子函数中的运算是不能改变main()中已经定义的变量

    int add(int a, int b) {
        int c;
        c=a+b;
    }
    main() {
        int a=1,b=2, c=0;
        add(a,b);
        printf("
    c=%d
    ", c);
    }

    你可以自己尝试一下看看,这个最后结果还是c=0;
    因为计算机执行一个程序的时候 他只看到main();
    他十分忠诚的 从main()的第一句 一直执行到最后一句 ;
    中间的那个 add()调用;
    这时main()函数被挂起 ;
    也就是停止运行 系统会把main()放在一块内存x中 ;
    这时 系统会把一片内存y划分给add()函数;
    也就是说 main()中的abc;和add()中的abc;
    并不是同一个东西
    他们只是在数值上相等罢了
    系统首先把a;b;的值传给add;
    然后运行;
    c=3;
    然后系统没有发现add中有return;
    也就是 子函数 做完了运算;
    但是它并没把内存y中的结果送给main();
    这时候 add运行结束;
    系统唤醒内存x中的main();
    开始运行下一句 这时候 ;
    add函数做的一切 都是白干了;
    他并没有把他的结果上交给main()函数;
    所以c仍然是0;

    add(int a, int b) {
        int c;
        c=a+b;
        return c;
    }
    main() {
        int a=1, b=2, c=0;
        c=add(a,b);
        printf("/nc=%d/n",c);
        /*还可以这样写*/
        printf("/nc=%d/n",add(a,b));
    }

    想要通过子函数来改变main()中的东西;
    有两个方法:1 return ; 2 通过指针;

    但是我不太清楚指针……

    所以就这样结束啦~

    如果运气好也是错,那我倒愿意错上加错!

    ❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀

  • 相关阅读:
    大数板子
    数位dp
    BM算法
    牛客小白月赛7
    划分树
    可持久化线段树
    素数
    一些数学公式
    线性基
    ConcurrentHashMap 并发HashMap原理分析
  • 原文地址:https://www.cnblogs.com/zxqxwnngztxx/p/6758491.html
Copyright © 2011-2022 走看看