今天有乙個列舉的題目的**是這樣的:
重點在於maxxor這個函式的實現,列舉兩個數字,其中maxr儲存了最大值的 i 異或 j , 可是這個程式執行結果大大出乎意外-_-. 然後就把 i 異或 j 的結果臨時儲存在int,進行比較,程式正確的執行了。原來是被操作符優先順序坑到了。位操作的優先順序比比較操作符的優先順序更低。
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;/* * complete the function below.
*/int maxxor(int l, int r) }}
return maxr;
}int main()
C語言操作符優先順序
c語言操作符優先順序 優先順序 運算子 含義 要求運算 物件的個數 結合方向 1 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子 自左至右 2 邏輯非運算子 1 單目運算子 自右至左 按位取反運算子 自增運算子 自減運算子 負號運算子 型別 型別轉換運算子 指標運算子 位址與運算子 si...
C語言操作符優先順序
c語言操作符優先順序 優先順序 運算子 含義 要求運算 物件的個數 結合方向 1 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子 自左至右 2 邏輯非運算子 1 單目運算子 自右至左 按位取反運算子 自增運算子 自減運算子 負號運算子 型別 型別轉換運算子 指標運算子 位址與運算子 si...
C語言操作符優先順序
c語言操作符優先順序 優先順序 運算子 含義 要求運算 物件的個數 結合方向 1 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子 自左至右 2 邏輯非運算子 1 單目運算子 自右至左 按位取反運算子 自增運算子 自減運算子 負號運算子 型別 型別轉換運算子 指標運算子 位址與運算子 si...