C語言 判斷相等的條件語句,為什麼把數字放在前面?

2021-10-07 16:44:46 字數 355 閱讀 9339

**寫久了,經常有這樣一種疑惑,經常能在別人的**,或者庫中見到這樣的寫法,0 == tick 或者1 == number ,為什麼不寫成 tick == 0 或者 number == 1 呢?

相信很多人都遇到過這樣的bug,程式邏輯與設想的不太一樣,但是編譯卻沒有報錯,仔細檢查後發現,原來是把 tick == 0 寫成了tick = 0,判斷條件的語句成了賦值語句,編譯器當然不會報錯,但是程式已經不能按照預先的設想來跑了。

當判斷語句把數字寫在前面時,即使敲**的過程中漏掉了乙個=,寫成了 0 = tick,編譯器會立即報錯,因為常量不能再被賦值,避免了日後找bug的痛苦。所以經常能見到0 == tick 或者1 == number這種寫法,也就不奇怪了。

C語言 條件語句 switch語句

用於直接處理不同情況下的多路問題。switch語句又可稱為開關語句,其執行流程和多分支if語句類似。switch 表示式 當switch後面的 表示式 的值與某個case後的 常量表示式 的值相同時,就執行該case後面的語句 組 當遇到break語句時,跳出switch語句,轉向執行switch結...

if語句輸入月份判斷季節 C語言迴圈及條件語句

朋友以開玩笑的方式戳你傷疤,家人以對你好的名義限制你,愛你的人以不想耽誤你離你而去,唯獨陌生人安慰你。網易雲熱評 一 if語句 1 判斷正負數 include int main else val 0 顯示正數 val 0 顯示負數 val 顯示零 if val 0 else if val 0 els...

C語言條件語句及迴圈語句

c語言語句 1 分支語句 有兩種,第一種是負責實現雙分支的if語句,另一種是負責實現多分支的開關語句switch。1.1 if語句 1 只有乙個分支 if 條件表示式 例子 int a a 0 如果a等於0時執行大括號中的語句。否則不執行。由於上面的語句把a的值改為0了,現在條件表示式 a 0 是成...