do { ... ... } while(0);一般的說明都是在 MACRO 定義,因為後面那個 ';' 的關係。
如果不是在 macro 。這樣寫有什麼好處呢?
這一篇 有說..
因為在 while() 中,所以 break 有用,就可以把 break 當作 goto 來用..
以上面那個 link 中的 example:
int main() { do{ if(testOK()) break; if(func2()) break; if(func3()) break; return 1; }while(0); do_complete(); return 0; }
沒有留言:
張貼留言