討論串[問題] while(1)的新手疑問
共 6 篇文章
首頁
上一頁
1
2
下一頁
尾頁

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者shrekwang (史瑞克)時間15年前 (2010/06/29 02:09), 編輯資訊
0
0
0
內容預覽:
「while(1){}」和「while(1);」兩種寫法結果都相同. 沒意外的話gcc -S出來的結果也都相同. control statement裡面的程式碼. 只有一行程式碼後面要加「;」或者用{}框起來都沒問題. 超過一行以上只能用{}框起來. {}的後面不用加「;」. while(1);是無

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者wroji (我不要當胖狗)時間15年前 (2010/06/28 23:30), 編輯資訊
0
0
0
內容預覽:
這種寫法會寫在macro裡. 因為有些compiler是不允許忽然出現block的. EX:. #define aaa() do { xxx } while(0). 這樣如果使用者用在. if(xxx). aaa();. or. bbb();. aaa();. ccc();. 都可以. 如果定義成.
(還有56個字)

推噓4(4推 0噓 32→)留言36則,0人參與, 最新作者ykjiang (York)時間15年前 (2010/06/27 13:25), 編輯資訊
0
0
0
內容預覽:
這種寫法可能有兩種用途:. 1. 強調這個 macro 是 statement ,後面一定要加分號,否則會有 warning. #define statement1() do {xxx} while(0). 2. 用於例外處理,可以避免 goto. do {. buf = malloc(n);. i

推噓4(4推 0噓 5→)留言9則,0人參與, 最新作者sjgau (sjgau)時間15年前 (2010/06/27 10:40), 編輯資訊
0
0
0
內容預覽:
這些,都不是好的 CODE。. 當然,你可以因為需要而寫出各種 奇怪的 CODE,. 但是,請加上適當的註解。. PASCAL 算是一種比較好的語言,. 他提供三種回圈,以下是 虛擬碼. FOR I:=1 TO 10 DO BEGIN. .... END;. WHILE (X > Y) DO BEG
(還有62個字)

推噓5(5推 0噓 7→)留言12則,0人參與, 最新作者sceneryview (加油~~~)時間15年前 (2010/06/27 10:21), 編輯資訊
0
0
0
內容預覽:
藉由這一篇來請問一個相關的問題. 在linux kernel的程式中,有時後會見到以下的寫法. do. {. code.... }while(0);. 從字面上來看,就是只作一次. 感覺就沒必要加do {}while(0)了. 有人知道這種寫法的特殊用意嗎??. --. 發信站: 批踢踢實業坊(
首頁
上一頁
1
2
下一頁
尾頁