首頁 > 後端開發 > C++ > C 的鍊式比較「(4 > y > 1)」的計算結果是否總是 False?

C 的鍊式比較「(4 > y > 1)」的計算結果是否總是 False?

Linda Hamilton
發布: 2024-12-19 01:11:09
原創
441 人瀏覽過

Does C  's Chained Comparison y > 1)" 總是評估為 False? " /> y > 1)" 總是評估為 False? " />

評估C 中鍊式邏輯運算符的有效性

語句「(4 > y > 1)」引發了有關其有效性和評估的問題讓我們深入研究這些方面並揭示該語句在C 中的行為。 .

表達式計算

給定的語句可以分解為其邏輯運算子:

(4 > y) > 1
登入後複製

C 從左到右計算連結的邏輯運算子因此,評估過程如下:

  1. 比較4 和y: 若y 小於4,結果為1(真);否則為0(假)。結果(1 或0)永遠不可能大於1,因此這次比較的結果將永遠是false (0).
  2. 意義:

表達式「(4 > y > 1)」有效,但由於以下原因始終計算為false邏輯流程解釋

異常:

此行為的一個例外是,如果 y是自訂類別的對象,並且“>”運算符已被重載以表現出不同的結果行為。 🎜>替代語句:

為了提供更清晰的邏輯語義,建議重寫表達式為:

這個公式避免了原始語句的歧義並正確評估條件按所需的邏輯順序排列。

以上是C 的鍊式比較「(4 > y > 1)」的計算結果是否總是 False?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板