码迷,mamicode.com
首页 > 其他好文 > 详细

break,continue,return的区别

时间:2017-12-21 16:04:25      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:必须   入口   而不是   风格   break   使用   习惯   就是   运算   

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);

print("/nc=%d/n", 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);

print("/nc=%d/n",c);

/*还可以这样写*/

print("/nc=%d/n",add(a,b));

}

想要通过子函数来改变main()中的东西;

有两个方法:1 return ; 2 通过指针;

这里 指针我就不说了 到了c#就没有指针了 我是学c的 才大一 ;

我们用的最多的是指针;一般不用return ;

break,continue,return的区别

标签:必须   入口   而不是   风格   break   使用   习惯   就是   运算   

原文地址:http://www.cnblogs.com/it-xiaoBai/p/8080483.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!