Chinaunix首页 | 论坛 | 博客
  • 博客访问: 78857
  • 博文数量: 24
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-02 16:15
文章分类
文章存档

2016年(24)

我的朋友

分类: LINUX

2016-04-29 16:17:41

原文地址:continue、break、return的区别 作者:lwp225

   前面我说过return和exit的区别,如果感兴趣的话可以瞅瞅。今天看到内核的代码时突然被continue、break、return这三个关键字给搞晕了,所以就写了个例子调试了一下,才弄明白了,和大家分享一下,估计有人跟我一样有时就被弄糊涂了。

  1、return 语句的作用
      (1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行。
      (2) return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致。
      (3) return后面也可以不带参数,不带参数就是返回空,其实主要目的就是用于想中断函数执行,返回调用函数处。
  2.  continue 语句的作用
    (1)break在循环体内,强行结束循环的执行,也就是结束整个循环过程,不在判断执行循环的条件是否成立,直接转向循环语句下面的语句。
    (2)当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
  3.continue 语句的作用
      终止本次循环的执行,即跳过当前这次循环中continue语句后尚未执行的语句,接着进行下一次循环条件的判断。
  下面大家可以具体的看一下例子,可能会更清晰一点:


  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int i = 5,n = 0;
  5.     while(i--)
  6.     {
  7.         if(i == 3)
  8.      // return;
  9.      // break;
  10.         continue;
  11.         else if(i == 1)
  12.             n = 6;
  13.     }
  14.     n = n + 5;
  15.     printf("i=%d\n",i);
  16.     printf("n=%d\n",n);
  17.         return 0;    
  18. }
 当运行continue时,结果为:
  1. i=-1
  2. n=11
当运行break时,结果为:
  1. i=3
  2. i=5
当运行return时,没有结果,说明当执行i==3是已经带出主函数,不会执行下面的语句。



阅读(1183) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~