[問題] 請問關於程式的maintain

看板C_and_CPP (C/C++)作者 (薯)時間16年前 (2009/07/23 14:16), 編輯推噓8(8010)
留言18則, 10人參與, 最新討論串1/1
unsigned int A, B, temp; scanf("%d", &A); scanf("%d", &B); if (B > A){ temp= A; A= B; B= temp; } do { temp= A; A= B; B= temp; A= A%B; } while ( A != 0); return B; ///////////////////////////////////////////////////////////////////////// 這是我某天在打作業浮現的問題 像上面那個程式 是一個求最大公因數(輾轉相除法)副程式 程式做到最後 因為被除數A可以被 除數B所整除 所以B明顯地是最大公因數 我上次打作業打到這裡的時候 我就突然想到....... 我是否要在設一個變數:GCD 然後再寫 GCD= B; return GCD; 這樣子是否以後別人或我再回來看程式的時候 應該會比較容易懂吧?? 要不然誰知道return 的B是什麼東西? 可是問題這樣子就多了一個空間以及一行程式碼了 請問我所說的是否必要?? 另外我會這樣想的原因 是因為我們老師說寫程式最好就是要寫的讓人看的懂 還舉例說: 寫 sum += num; 的人是笨X (他說的不是我說的,不要鞭我=.=) 應該要寫 sum = sum+ num; 他說這樣子一目瞭然 各位有在業界工作或有經驗的人是怎麼認為的呢?? -- 咪嚕、撲撲 可愛~有時也很壞~ http://www.wretch.cc/album/album.php?id=b020306123&book=10 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.232.62.118 ※ 編輯: liu2007 來自: 118.232.62.118 (07/23 14:17)

07/23 14:20, , 1F
批評 sum += num; 是吹毛求疵
07/23 14:20, 1F

07/23 14:20, , 2F
多個 GCD = B; 是個好想法, 又或者加個註解就好也可以
07/23 14:20, 2F

07/23 14:20, , 3F
加註解阿@@
07/23 14:20, 3F

07/23 14:21, , 4F
GCD 可以拿來當 function name
07/23 14:21, 4F

07/23 14:21, , 5F
推愛貓人~ XD
07/23 14:21, 5F

07/23 14:23, , 6F
不同意 sum += name; 是不好的寫法,這是很基礎的東西,應該
07/23 14:23, 6F

07/23 14:24, , 7F
沒有人會覺得不好懂
07/23 14:24, 7F

07/23 14:54, , 8F
感覺像說寫i++是笨蛋一樣=.= 順便請問,i++比i=i+1
07/23 14:54, 8F

07/23 14:55, , 9F
效率好,那i += sum有比 i=i+sum快嗎?還是沒差?
07/23 14:55, 9F

07/23 15:35, , 10F
如果你的 i 是內建型別就沒差,i++ 也不會比 i=i+1 快
07/23 15:35, 10F

07/23 17:23, , 11F
可以加註解+1
07/23 17:23, 11F

07/23 19:24, , 12F
跟是否為內建型別有很大的關係。
07/23 19:24, 12F

07/24 00:56, , 13F
請問什麼叫做內建型??
07/24 00:56, 13F

07/24 01:15, , 14F
可是小弟印象中, 沒有optimize過的話, i++, i+=1, i=i+1
07/24 01:15, 14F

07/24 01:16, , 15F
這三者都不一樣, i=i+1的結果會先放到temp, 再assign到i
07/24 01:16, 15F

07/24 01:18, , 16F
i+=1則是可以直接翻出類似add i, #1這樣的code....
07/24 01:18, 16F

07/24 01:18, , 17F
i++/++i則是用inc指令; 還是小弟以前學的太老了Orz
07/24 01:18, 17F

07/25 11:24, , 18F
Victor大記的真清楚,(++i)會比(i++)少一個指令
07/25 11:24, 18F
文章代碼(AID): #1AQ014cy (C_and_CPP)
文章代碼(AID): #1AQ014cy (C_and_CPP)