[問題] 請問這2種運算式的優缺點在哪

看板C_and_CPP作者 (睡覺)...(掛)時間15年前 (2010/11/21 06:33), 編輯推噓7(7015)
留言22則, 13人參與, 最新討論串1/2 (看更多)
Q: 1是先做迴圈再判斷 2是先做判斷再迴圈 請問這2種在什麼情況下會有出現它的優缺點呢? A: (我想不太到它的優缺點...納悶) 有人可以解惑一下嗎,謝謝 ! 1. for(i=0; i<n; i++) { if(condition) DOsomething(); else DOsomething(); } 2. if(condition) { for(i=0; i<n; i++) DOsomething(); } else { for(i=0; i<n; i++) DOsomething(); } -- 妳髮如雪淒美了離別,我焚香感動了誰, 邀明月讓回憶皎潔,愛在月光下完美。 妳髮如雪紛飛了眼淚,我等待蒼老了誰, 紅塵醉微醺的歲月,我用無悔刻永世愛妳的碑。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.227.159 ※ 編輯: wwf1310 來自: 219.85.227.159 (11/21 06:35)

11/21 06:42, , 1F
第二種只需要判斷一次
11/21 06:42, 1F

11/21 06:53, , 2F
喔喔喔~~~原來是這樣~魔障卡住了Orz 謝謝解答
11/21 06:53, 2F

11/21 07:35, , 3F
兩個運算式不一定等價,語意不一定相同,不是任何情況下
11/21 07:35, 3F

11/21 07:35, , 4F
都可以用第二種
11/21 07:35, 4F

11/21 09:17, , 5F
大家都已經對於吐槽縮排這件事疲乏了嗎 XD
11/21 09:17, 5F

11/21 09:18, , 6F
前幾天看人家問過一模一樣的題目,好像在百度
11/21 09:18, 6F

11/21 09:27, , 7F
這兩種東西根本不一樣 怎麼有辦法混淆
11/21 09:27, 7F

11/21 11:09, , 8F
第一種最少最一次,第二種不一定會作
11/21 11:09, 8F

11/21 14:26, , 9F
我好奇,有人會特別強調用第二種寫法嗎?還是有人會特別
11/21 14:26, 9F

11/21 14:26, , 10F
將寫好的code,從第一種改第二種嗎?我會覺得不便閱讀耶.
11/21 14:26, 10F

11/21 14:55, , 11F
當被指導教授逼急了就會這麼幹 即使那可能不是明智的
11/21 14:55, 11F

11/21 16:14, , 12F
在寫的當下先考慮完正確性後,接著要想未來的可維護性,想
11/21 16:14, 12F

11/21 16:15, , 13F
怎樣寫以後回來review或修改需求時最佳,速度的考慮...
11/21 16:15, 13F

11/21 16:15, , 14F
很少會去注意這種小地方
11/21 16:15, 14F

11/21 16:16, , 15F
晚點補上考慮多執行緒的情形, 是影響結果最重要的因素
11/21 16:16, 15F

11/21 16:18, , 16F
常常還要考慮程式有沒有資源洩漏,有沒有例外處理,速度真
11/21 16:18, 16F

11/21 16:18, , 17F
的不會最先去追求
11/21 16:18, 17F

11/21 16:31, , 18F
追求神之一行程式碼嗎
11/21 16:31, 18F

11/21 17:17, , 19F
這兩段code意思完全不一樣啊..
11/21 17:17, 19F

11/21 20:50, , 20F
如果 condition 和迴圈無關, 當然是放在外面
11/21 20:50, 20F

11/21 20:51, , 21F
有關的話從 1. 換成 2. 也不會對
11/21 20:51, 21F

11/21 20:59, , 22F
我記得大概一個月前在這裡也看過, 好像是面試題目
11/21 20:59, 22F
文章代碼(AID): #1Cw4p5dk (C_and_CPP)
文章代碼(AID): #1Cw4p5dk (C_and_CPP)