[討論] 關於判斷式的撰寫風格

作者: jacky1989   2020-09-04 00:07:06
大家好,打給後,太咖齁~
小弟這幾天看到一個判斷式的不同形式寫法
原本C語言是長這樣
if(x>5)
i=1;
else
i=0;
前幾天看到有人寫成這樣
i=(x>5);
不知道版上諸位前輩會不會寫成這種形式呢?
如果以組合語言來看,似乎第2種形式會比較快?
先不論現在機器對於編譯都已經做最佳化了,所以可能感覺不出來差別
不過還是想多學習一下不同的寫法,與更好的寫法
謝謝各位
作者: BSpowerx (B.S)   2020-09-04 00:21:00
i = x>5? 1: 0;一般情況下選1吧,可讀性比較重要。且若i的目標值不剛好是0跟1的話第二種寫法就沒用了
作者: loveme00835 (髮箍)   2020-09-04 00:43:00
只有一個可用於初始化, 所以要看使用情境. 就問你一個問題: 如果 i 是 const int 應該怎麼寫? 撰碼要看前後文和設計來選擇適合的寫法, 而不是死背答案另外還有一個問題是: 在 if-else 以前 i 的值合不合法? 而在 if-else 之後 i 又有哪些可能值? 這些問題都會影響你最後呈現的方式
作者: annheilong (方格子)   2020-09-10 10:15:00
只有當 i 的型態是 bool 我才會這樣寫

Links booklink

Contact Us: admin [ a t ] ucptt.com