Chinaunix首页 | 论坛 | 博客
  • 博客访问: 371822
  • 博文数量: 47
  • 博客积分: 967
  • 博客等级: 准尉
  • 技术积分: 1290
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-25 16:14
文章分类

全部博文(47)

文章存档

2019年(1)

2014年(1)

2013年(9)

2012年(36)

分类: LINUX

2012-09-11 20:50:01

   前面我说过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是已经带出主函数,不会执行下面的语句。



阅读(28667) | 评论(5) | 转发(3) |
0

上一篇:VFS实践

下一篇:内核调度器(RSDL,CFS)

给主人留下些什么吧!~~

lmnos2012-09-26 10:46:50

lwp225: 看了你的博客之后,感觉自己真的还是一个很小很小的菜鸟。。。向你看齐!.....
你有那么好的C语言功底,还怕什么,其实我也是出于对计算机的热爱,才去写操作系统……

lwp2252012-09-26 10:21:14

lmnos: .....
看了你的博客之后,感觉自己真的还是一个很小很小的菜鸟。。。向你看齐!

lmnos2012-09-26 10:02:37

lwp225: 差不多了,共同学习!.....

lwp2252012-09-26 10:01:15

lmnos: 你对C语言可是相当了解.....
差不多了,共同学习!

lmnos2012-09-25 22:32:33

你对C语言可是相当了解