原文:do{...}while(0)的妙用

在学习第一门编程语言时,就已经介绍了顺序分支 条件分支 循环分支。比如循环分支有for while do while语句。在随后的学校及工作中,如果手工循环一般使用for while,很少使用do while,感觉用处不大,但现在看来,do while大有用途。 . 帮助定义复杂的宏以避免错误 举例来说,假设你需要定义这样一个宏: 这个宏的本意是,当调用DOSOMETHING 时,函数foo 和f ...

2014-04-19 01:05 10 6089 推荐指数:

查看详情

C语言中do...while(0)的妙用

在linux内核代码中,经常看到do...while(0)的宏,do...while(0)有很多作用,下面举出几个: 1、避免goto语句: 通常,如果一个函数开始要分配一些资源,然后如果在中途遇到错误则要退出函数,当然,退出前要释放资源,我们的代码 ...

Fri Oct 25 21:51:00 CST 2013 12 8429
whiledo while区别

do-while循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。因此, do-while循环至少要执行一次循环语句。 简单来讲就是说while循环是先循环后判断 。 ...

Tue Oct 06 22:06:00 CST 2020 0 978
whiledo while循环的区别

int a; scanf_s("%d",&a); while(a>0) {   //do something; } while循环先要判断条件是否成立,如果不成立,那么就直接越过循环,所以while循环执行的次数最少是0次。 do while 循环执行的次数 ...

Sun Oct 14 00:54:00 CST 2018 0 761
python实现dowhile

python中没有dowhile语法,但是python编程中遇到需要使用dowhile来实现编程要怎么写呢? 下面是我从其它博主那里看到的方法,做个笔记,以防遗忘。 要实现的例子: 代码如下: 1、 a = 0 a = input() while ...

Fri Dec 25 18:06:00 CST 2020 0 428
linux do{} while(0)

  do{}while(0)   在linux中,经常会看到do{}while(0)这样的语句,许多人开始都会疑惑,认为do{}while(0)毫无意义,因为它只会执行一次,加不加do{}while(0)效果是一样的,其实do{}while(0) 的用法主要在于宏定义中。   这里用一个简单 ...

Mon Feb 25 03:22:00 CST 2019 0 602
do while(0)的作用

阅读Mitsuba的代码的时候,发现了一个有意思的地方: 定义了一个Log的宏函数,使用了do{...} while(0)的语法,这里的while中的条件是常量0,上面的代码永远只执行一遍。 感觉是多此一举,做法令人费解。上stack overflow查了下资料。说法 ...

Wed Jun 03 00:03:00 CST 2015 1 4206
使用do{ } while(0)的好处

这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢? 实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处: 1、辅助定义复杂的宏,避免引用的时候出错: 举例来说,假设你需要 ...

Thu Sep 26 23:16:00 CST 2019 0 1095
为什么要用do-while(0)?

今天读代码时候,看到这样的代码。。 #define MG_SET_PTRPTR(_ptr, _v) \ do { \ if (_ptr) *(_ptr) = _v; \ } while (0) 1、对于带有if 语句的宏,无论是内核还是开源代码,都是用到了do while ...

Thu May 17 01:14:00 CST 2018 0 1211
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM