C語言中判斷兩個量是否相等是用k 6還是6 k,還是兩個都能用那麼用哪個更好?

時間 2021-10-23 22:44:53

1樓:IHaveNoUserName

k==6。

雖說兩者等價,但是6==k這種怎麼看都彆扭。

咱們要判斷k是否等於6,那當然要把k放左邊6放右邊啊,這樣看起來才自然

2樓:荀傲之

要按閱讀習慣來講自然是k==6好一些

但隨著你編碼多了以後,尤其是學習其他物件導向語言的時候。兩者相比較會遇到前者為null的情況,會引起報錯。一般來講是需要將能保證不為null的數作為前者。也就是6==k

也就是乙個編碼習慣的問題,如果自身編碼能力過硬,完全可以無視

3樓:zhulei718

都能用,用6==k好一點。這樣的話如果你少打乙個=,編譯的時候能發現。

當然現在不少編輯器在寫的時候就檢測出來,也是有可能的。

4樓:

據我所知,這確實是老一輩程式設計師的習慣。C++標準庫的SGI實現版本裡面的if判斷不少是6==k的形式。

比如在2.9實現版本中,std::alloc中有乙個分配器的介面模擬C++的new-handler去處理OOM問題,其中就有「如果客戶端未定義OOM異常處理程式,則丟擲bad_alloc錯誤」,這裡做的判斷就是判斷穿進來的函式指標__malloc_alloc_oom_handler是不是預設定義的0。

即 : if(0 == my_malloc_handler)

5樓:yihonge

就閱讀習慣而言,k==6顯然更好,但我建議寫6==k,特別是有些專案因為標頭檔案包含問題出現很多警告時,每次編譯你根本不會看警告。突然某個時候,在將k=6複製到條件判斷裡時,被人打斷一下,忘了改成==號,這時就出問題了。如果你是習慣常量在左側的,看到條件語句左側是變數的就會引起你的注意,其實看多了6==k也沒有閱讀障礙。

哎,話說我以前也是寫k==6的,現在也寫6==k。怕了,6000+警告的專案,全是巨集重複定義,重複typedef的,根本沒人管。

C語言中連續定義兩個變數,為什麼位址是這樣的?

以下程式在VS2015和VS6.0的執行結果分別如圖 include int main 以下程式可檢測CPU是big endian還是little endian bool IsBigEndian cout false return false 然而並無卵用。VS2015依然是從小到大。 題主自己動手...

java兩個integer資料判斷相等用 還是equals

hasaki 看你想怎麼用了 如果你想知道兩個Integer中的值是不是一樣,那麼用equals如果你想知道兩個Integer是不是同乙個物件,那麼用 PS 如果 為true的話,那麼為同乙個物件,自然其值肯定也一樣。對於普通型別的int來說,你想用equals,人家也沒有這個方法呀,只能用 了 狗...

怎樣判斷平面上兩個扇形是否有重疊?

skyler 已知 x,y,r,a,b 分別是圓心x座標 圓心y座標 半徑 起始角度 結束角度 第一步if x1 x2 x1 x2 y1 y2 y1 y2 r1 r2 r1 r2不重疊.第二步float angle1to2 Math.atan2 y2 y1,x2 x1 if angle1to2 a1...