Re: [問題] while(1)的新手疑問

看板C_and_CPP作者 (sjgau)時間14年前 (2010/06/27 10:40), 編輯推噓4(405)
留言9則, 5人參與, 最新討論串3/6 (看更多)
這些,都不是好的 CODE。 當然,你可以因為需要而寫出各種 奇怪的 CODE, 但是,請加上適當的註解。 PASCAL 算是一種比較好的語言, 他提供三種回圈,以下是 虛擬碼 FOR I:=1 TO 10 DO BEGIN ... END; WHILE (X > Y) DO BEGIN ... END; REPEAT ... UNTIL (X > Y); 理論上,足夠使用到所有的狀況, 當然,需要的時候,還可以配合 GOTO 指令。 曾經有大師級的教授,很正式的公開辯論 是否可以使用 GOTO. 結論是:可以適當的開放使用 GOTO, 但是 必須是 適當的使用 GOTO. ※ 引述《sceneryview (加油~~~)》之銘言: : 藉由這一篇來請問一個相關的問題 : 在linux kernel的程式中,有時後會見到以下的寫法 : do : { : code... : }while(0); : 從字面上來看,就是只作一次 : 感覺就沒必要加do {}while(0)了 : 有人知道這種寫法的特殊用意嗎?? : ※ 引述《scrush (阿慶)》之銘言: : : 不好意思,我一直對while(1)這邊有點不理解,爬文也沒看到我想要的答案才發文, : : 我常常看到一些 code在程式最底端加上個 while(1){}; 或是while(1){} : : 請問這是要做什麼用的?有加 ; 跟沒加 ; 有何分別?目的只是讓這段code一直執行嗎? : : 如果是的話為何不必直接寫 while(1){code} ,用while(1)把程式幫起來不就得了嗎? : : 還是說目的不同? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.231.90.151

06/27 11:33, , 1F
大師也講廢話嘛?
06/27 11:33, 1F

06/27 11:51, , 2F
其實.... If + goto就可以當迴圈用了.....
06/27 11:51, 2F

06/27 11:52, , 3F
之前我在弄RO私服腳本的時候,連迴圈都沒有,就這樣搞....
06/27 11:52, 3F

06/27 12:58, , 4F
了解前與了解後說的廢話,本質上是不同的,不可一概括而論
06/27 12:58, 4F

06/27 18:53, , 5F
其實在ASM裡面是沒有迴圈的指令 迴圈應該也是用
06/27 18:53, 5F

06/27 18:54, , 6F
判斷及跳轉合出來的
06/27 18:54, 6F

06/27 18:54, , 7F
有loop
06/27 18:54, 7F

06/27 18:55, , 8F
只是既然說是高階了 基於可讀性而言 這樣跳也很麻煩
06/27 18:55, 8F

06/27 18:55, , 9F
有點像是你要在C++中用malloc也不能說你錯這樣
06/27 18:55, 9F
文章代碼(AID): #1C9heXJE (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1C9heXJE (C_and_CPP)