c語言中的邏輯或幾個一起怎麼寫
if(g==a||g==b||g==c||g==d||g==e||g==f) {++g;}這樣寫對嗎
最佳回答:
對,這樣寫就是其中任何一個條件滿足整個表達式就為真
-
補充:
-
剛才有人說這個存在短路計算問題,對於你這個程序沒有問題,但是短路計算確實在大多數語言中存在。例如g==a為真,那麼為了提高程序的性能,程序會自動忽略後面幾個條件語句。但是一般寫程序,在判斷條件的語句當中,不要進行復雜的賦值運算之類的,這樣可以避免出問題。而且短路計算本身不是c語言規范裡面規定必須實現的功能,所以不排除某些編譯器沒有這個功能。或者某些具有並行計算能力的編譯器會同時對多個語句進行判斷,從而沒有實現短路計算的功能