這樣的代碼一看就不是一個循環,do..while表面上在這里一點意義都沒有,那么為什么要這么用呢? 實際上,do{...}while(0)的作用遠大於美化你的代碼。查了些資料,總結起來這樣寫主要有以下幾點好處: 1、輔助定義復雜的宏,避免引用的時候出錯: 舉例來說,假設你需要 ...
在開源軟件里面經常可以看到這樣的寫法。 define X a do f a f a while . 主要作用是放在宏定義里面,避免宏帶來的語法問題。 比如 define DOSOMETHING cmd cmd 而調用的時候 if a gt DOSOMETHING 會有問題,需要用到上面提到的而這時候,為什么不用 if ... 呢 有兩方面原因:首先,會多出不必要的分號,比如: if my code ...
2016-11-19 12:36 0 3776 推薦指數:
這樣的代碼一看就不是一個循環,do..while表面上在這里一點意義都沒有,那么為什么要這么用呢? 實際上,do{...}while(0)的作用遠大於美化你的代碼。查了些資料,總結起來這樣寫主要有以下幾點好處: 1、輔助定義復雜的宏,避免引用的時候出錯: 舉例來說,假設你需要 ...
原帖地址:http://bbs.csdn.net/topics/390361821?page=1#post-393624278 【gq414047080】: 這樣的寫法有什么好處啊? 將樓主的問題擴展一下,do{} while(0);的用處都有什么?不僅限於樓主所貼代碼的使用 ...
在C++中,有三種類型的循環語句:for, while, 和do...while, 但是在一般應用中作循環時, 我們可能用for和while要多一些,do...while相對不受重視。 但是我發現了do...while的一些十分聰明的用法,不是用來做循環,而是用作其他來提高代碼的健壯性 ...
a=100; do { int x = a / 100;//百位 int y = a / ...
㈠while循環 循環條件 是個bool值,為true時執行循環,為false退出循環。break一般不單獨的使用,而是跟着if判斷一起使用,表示,當滿足某些條件的時候,就退出循環了。 循環體 一般總會有那么一行代碼和循環條件建立關系,能夠改變循環條件,使之終有一天不再成立 ...
在linux內核代碼中,經常看到do...while(0)的宏,do...while(0)有很多作用,下面舉出幾個: 1、避免goto語句: 通常,如果一個函數開始要分配一些資源,然后如果在中途遇到錯誤則要退出函數,當然,退出前要釋放資源,我們的代碼 ...
一、簡介 在for和while的循環是在頭部寫測試循環條件,而do....while的循環是在循環的尾部寫測試條件 do...while的循環和while的類似,但是do...while的最少執行一次循環體。 二、語法 do{ 循環體; } while{ 條件; } 三、執行 ...
“直到”型 (do-while) 語句的特點: 先執行循環,然后判斷條件是否成立. ...