看板 C_and_CPP 關於我們 聯絡資訊
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)
ledia:批評 sum += num; 是吹毛求疵 07/23 14:20
ledia:多個 GCD = B; 是個好想法, 又或者加個註解就好也可以 07/23 14:20
jiahwai:加註解阿@@ 07/23 14:20
alai:GCD 可以拿來當 function name 07/23 14:21
ledia:推愛貓人~ XD 07/23 14:21
alai:不同意 sum += name; 是不好的寫法,這是很基礎的東西,應該 07/23 14:23
alai:沒有人會覺得不好懂 07/23 14:24
flydragon198:感覺像說寫i++是笨蛋一樣=.= 順便請問,i++比i=i+1 07/23 14:54
flydragon198:效率好,那i += sum有比 i=i+sum快嗎?還是沒差? 07/23 14:55
littleshan:如果你的 i 是內建型別就沒差,i++ 也不會比 i=i+1 快 07/23 15:35
dendrobium:可以加註解+1 07/23 17:23
tinlans:跟是否為內建型別有很大的關係。 07/23 19:24
liu2007:請問什麼叫做內建型?? 07/24 00:56
VictorTom:可是小弟印象中, 沒有optimize過的話, i++, i+=1, i=i+1 07/24 01:15
VictorTom:這三者都不一樣, i=i+1的結果會先放到temp, 再assign到i 07/24 01:16
VictorTom:i+=1則是可以直接翻出類似add i, #1這樣的code.... 07/24 01:18
VictorTom:i++/++i則是用inc指令; 還是小弟以前學的太老了Orz 07/24 01:18
alongalone:Victor大記的真清楚,(++i)會比(i++)少一個指令 07/25 11:24