看板 C_and_CPP 關於我們 聯絡資訊
大家好,打給後,太咖齁~ 小弟這幾天看到一個判斷式的不同形式寫法 原本C語言是長這樣 if(x>5) i=1; else i=0; 前幾天看到有人寫成這樣 i=(x>5); 不知道版上諸位前輩會不會寫成這種形式呢? 如果以組合語言來看,似乎第2種形式會比較快? 先不論現在機器對於編譯都已經做最佳化了,所以可能感覺不出來差別 不過還是想多學習一下不同的寫法,與更好的寫法 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.11.43 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1599149229.A.68B.html
BSpowerx: i = x>5? 1: 0; 09/04 00:21
BSpowerx: 一般情況下選1吧,可讀性比較重要。且若i的目標值不剛好 09/04 00:22
BSpowerx: 是0跟1的話第二種寫法就沒用了 09/04 00:22
了解,很受用的解釋,感謝指教 ※ 編輯: jacky1989 (180.176.11.43 臺灣), 09/04/2020 00:28:38
loveme00835: 只有一個可用於初始化, 所以要看使用情境. 就問你一 09/04 00:43
loveme00835: 個問題: 如果 i 是 const int 應該怎麼寫? 撰碼要看 09/04 00:43
loveme00835: 前後文和設計來選擇適合的寫法, 而不是死背答案 09/04 00:43
loveme00835: 另外還有一個問題是: 在 if-else 以前 i 的值合不合 09/04 00:45
loveme00835: 法? 而在 if-else 之後 i 又有哪些可能值? 這些問題 09/04 00:45
loveme00835: 都會影響你最後呈現的方式 09/04 00:45
annheilong: 只有當 i 的型態是 bool 我才會這樣寫 09/10 10:15