Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1438788
  • 博文数量: 704
  • 博客积分: 10140
  • 博客等级: 上将
  • 技术积分: 6230
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-15 20:41
文章分类

全部博文(704)

文章存档

2013年(1)

2012年(16)

2011年(536)

2010年(151)

分类: C/C++

2011-06-04 18:22:47

我们在需要对于某些条件进行判断的时候,长长会写成如下形式:

if (a if (c if (e ...

当判断条件非常多的时候,就显得非常的不爽了,括号之间的管理,前后的判断等等,修改起来也非常不方便,这时候我们可以使用do..while(0);
这里的while(0)保证了不会进行下次循环,那么,这和没有写这个用法有啥区别?看看下面的代码就知道了。

do{
if (a >= b) break;
...
if (c >= d) break;
...
if (e >= f) break;
...

}while(0);

可以看到,这段代码和上面那段实现功能是一样的,但是,明显的更加有条理,如果需要更改也非常方便了。

PS:当然,do...while(0)在C语言的宏中也用得比较多,特别是,当把宏伪装成函数的时候,经常这么使用,在glib的代码中就大量用了do...while(0)。

阅读(404) | 评论(0) | 转发(0) |
0

上一篇:linux c md5

下一篇:lsof-查看进程打开的文件

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