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