為什麼要用 == 來進行陣列相等比較不起作用?
在 C 中,相等運算子 (==) 比較記憶體位址數組,而不是它們的內容。此行為可能會導致混亂,因為它與按元素比較數組元素的直觀預期不同。
考慮以下程式碼:
在此程式碼中,建立了兩個陣列具有相同的內容。但是,輸出表明數組不相等。這是因為 == 運算子比較數組的記憶體位址,每個數組的記憶體位址都不同。
要執行陣列的逐元素比較,可以使用循環或使用 std::array班級。 std::array 類別為處理數組提供了稍微不同的接口,並支援直接相等比較。
使用循環的範例:
使用 std::array 的範例:
以上是為什麼 C 中的 == 不能用於數組相等比較?的詳細內容。更多資訊請關注PHP中文網其他相關文章!