代码改变世界

do.....while循环的不可替代性

2019-09-24 18:00  老九君  阅读(583)  评论(0)    收藏  举报

do.....while循环的不可替代性

前言:在C语言学习的时候,我个人认为学到分支与循环结构就算入门了,就可以尝试去做一些小的项目,在分支循环结构中,我们经常用到的比如循环结构:while,for,do....while,前两种经常性的使用,曾经有段时间我甚至觉得do...while的设计是多余的,下面我展示一下一段代码来展示do....while的不可替代性。

比如无限次的输入语句就可以用这个来表达,比如:

 

 

当然这这是比较容易的,下面展出一段代码这段代码出自Linux

 

 

上面这个宏表示在引用

 

然后执行循环,而且该循环仅仅执行一次,这个宏定义似乎很奇怪,但是确实很巧妙,我们假设,如果不用这个do..while循环会如何?如下所示

 

显bufp这个必须中一次与if语句无关,这样就改变了初衷。

在Linux中大量的使用了宏,尤其是上面的这种宏,使用的很巧妙,如果上面的宏调整成

 

 

 

会如何呢?大家不妨讨论一下。

 

 

 

 

 

 

 

 

 

 

 

 

 

老九学堂会员出品

作者:快乐的镜子