do-while循環與while循環的不同在於:它先執行循環中的語句,然后再判斷表達式是否為真, 如果為真則繼續循環;如果為假, 則終止循環。因此, do-while循環至少要執行一次循環語句。 簡單來講就是說while循環是先循環后判斷 。 ...
在一些Linux內核和其它的開源代碼中,我們經常看到像下面這樣的代碼: do ... while 該代碼片段並非循環,這樣想想似乎使用do while沒有任何意義,那么為什么還要使用它呢 實際上,do ... while 的用途並不僅僅是優化你的代碼。經過一系列的調研和探索,我們總結出它的一些用途如下。 . 幫助定義復雜的宏以避免錯誤 詳細解釋請看 do ... while 在宏定義中的作用 ,講 ...
2014-02-01 13:08 8 8470 推薦指數:
do-while循環與while循環的不同在於:它先執行循環中的語句,然后再判斷表達式是否為真, 如果為真則繼續循環;如果為假, 則終止循環。因此, do-while循環至少要執行一次循環語句。 簡單來講就是說while循環是先循環后判斷 。 ...
機智雲提供了一個標准串口通信協議GAgent,目前支持N多種開發板接入機智雲。接入后能做啥呢?當然是使用機智雲的一系列開發工具啦。 1.gokit STM32底板V2案例: 3分鍾教你 ...
int a; scanf_s("%d",&a); while(a>0) { //do something; } while循環先要判斷條件是否成立,如果不成立,那么就直接越過循環,所以while循環執行的次數最少是0次。 do while 循環執行的次數 ...
python中沒有do—while語法,但是python編程中遇到需要使用do—while來實現編程要怎么寫呢? 下面是我從其它博主那里看到的方法,做個筆記,以防遺忘。 要實現的例子: 代碼如下: 1、 a = 0 a = input() while ...
do{}while(0) 在linux中,經常會看到do{}while(0)這樣的語句,許多人開始都會疑惑,認為do{}while(0)毫無意義,因為它只會執行一次,加不加do{}while(0)效果是一樣的,其實do{}while(0) 的用法主要在於宏定義中。 這里用一個簡單 ...
閱讀Mitsuba的代碼的時候,發現了一個有意思的地方: 定義了一個Log的宏函數,使用了do{...} while(0)的語法,這里的while中的條件是常量0,上面的代碼永遠只執行一遍。 感覺是多此一舉,做法令人費解。上stack overflow查了下資料。說法 ...
這樣的代碼一看就不是一個循環,do..while表面上在這里一點意義都沒有,那么為什么要這么用呢? 實際上,do{...}while(0)的作用遠大於美化你的代碼。查了些資料,總結起來這樣寫主要有以下幾點好處: 1、輔助定義復雜的宏,避免引用的時候出錯: 舉例來說,假設你需要 ...
今天讀代碼時候,看到這樣的代碼。。 #define MG_SET_PTRPTR(_ptr, _v) \ do { \ if (_ptr) *(_ptr) = _v; \ } while (0) 1、對於帶有if 語句的宏,無論是內核還是開源代碼,都是用到了do while ...