1define REPLACE_FUN() \2do{ \3funA();\4funB();\5}while(0)\6//宏展开前为:7if(判断条件)8REPLACE_FUN();9//宏展开后为:10if(判断条件)11do{12funA();13funB();14}while(0);//根据判断条件,正确执行了一次逻辑 2、避免goto语句的使用 goto语句也称为无条件转移语句,使用后可以从多重循环...
(3)需要注意的是,do-while 结构中的循环条件始终为 false(0),因此代码块只会被执行一次。 (4)让程序更加美观,由于 do-while 结构本质上是一个语句,因此需要使用分号作为结尾,以标识语句的结束。但是在没有加do-while(0)的宏里面,最后一条语句不能加上“;”。这样容易导致阅读障碍。 实例 以下是一个使用 d...
初见do{...}while(0) linux内核和其他一些开源的代码中,经常会遇到这样的代码: do{ ... }while(0) 这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,只执行一次而已,那么为什么要这么用呢? 总结了7种妙处 实际上,do{...}while(0)的作用可不止一点点,下面我列举了一些。 有时候只...
do{}while(0): 用0做参数,表示{}里的代码只运行一次,一般用法: #define LOG(x,y,z) do{x = 1; y = 1; z = 1;}while(0)
这样展开结果就会被视为一个整体,if 语句就可以正常控制这个宏定义中的语句了。同时,do-while(0) 语句块会保证里面的语句只执行一次,因为它是一个循环语句块,只会执行一次。 综上所述,使用 do-while(0) 可以将多条语句组合成一个整体,并且只执行一次,避免出现意外的行为。
while和do...while语句若要循环体执行次数最少,即等同于表达式,从最开始就为假,那么程序就不会进入循环语句的循环体,但是因为while是先判断表达式再进入语句,所以若表达式不正确,while的执行次数为零,do...while的执行机制是先执行do中的语句一次,再进行循环语句中表达式的判断,所以若表达式的内容不正确,那么do...
百度试题 结果1 题目在C语言中,do-while 循环结构执行( )。 A. 0次 B. 至少1次 C. 无数次 D. 不确定 相关知识点: 试题来源: 解析 B . 至少1次 反馈 收藏
百度试题 题目 do 循环体语句 while (表达式); 若“表达式”值为0时,“循环体语句”执行次数为() 相关知识点: 试题来源: 解析 1 反馈 收藏
百度试题 题目do ...while语句 可能执行循环的最少次数是( ) A.0次B.1次C.2次D.3次相关知识点: 试题来源: 解析 B【单选题】《舞台十四年》是()的自传。反馈 收藏
百度试题 题目用while语句构成循环时,循环至少执行0次,do-while语句构成循环时,循环至少执行()次。相关知识点: 试题来源: 解析反馈 收藏