1樓:匿名使用者
運算子優先順序
在實際的開發中,可能在一個運算子**現多個運算子,那麼計算時,就按照優先順序級別的高低進行計算,級別高的運算子先運算,級別低的運算子後計算,具體運算子的優先順序見下表:
運算子優先順序表
優先順序 運算子 結合性
1 () . 從左到右
2 ! +(正) -(負) ~ ++ -- 從右向左
3 * / % 從左向右
4 +(加) -(減) 從左向右
5 << >> >>> 從左向右
6 < <= > >= instanceof 從左向右
7 == != 從左向右
8 &(按位與) 從左向右
9 ^ 從左向右
10 | 從左向右
11 && 從左向右
12 || 從左向右
13 ?: 從右向左
14 = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= 從右向左
說明:1、 該表中優先順序按照從高到低的順序書寫,也就是優先順序為1的優先順序最高,優先順序14的優先順序最低。
2、 結合性是指運算子結合的順序,通常都是從左到右。從右向左的運算子最典型的就是負號,例如3+-4,則意義為3加-4,符號首先和運算子右側的內容結合。
3、 instanceof作用是判斷物件是否為某個類或介面型別,後續有詳細介紹。
4、 注意區分正負號和加減號,以及按位與和邏輯與的區別
其實在實際的開發中,不需要去記憶運算子的優先順序別,也不要刻意的使用運算子的優先順序別,對於不清楚優先順序的地方使用小括號去進行替代,示例**:
int m = 12;
int n = m << 1 + 2;
int n = m << (1 + 2); //這樣更直觀
這樣書寫**,更方便編寫**,也便於**的閱讀和維護。
2樓:匿名使用者
vc6中位239,
a*(a--)+(--a)
=15*15+14
=239
3樓:匿名使用者
我剛才用
0,visual studio 2005都是編譯不過去的,看來這個題目是老師自己編的...無視之
4樓:vc晨vc晨vc晨
你這樣寫就是在玩火,沒事找事,你自己看不懂,別人更看不懂的
c++中運算子優先順序的問題
5樓:金色潛鳥
假定陣列是 int y=;
指標是 int *symbol=y; int x=222;
語句 *(symbol++)=x; 因為是字尾++, 表示式裡不自增,故計算分2步走,(版1_1) *(symbol)=x;
(1_2) symbol=symbol+1; symbol指向 &y[1]。
語句 *symbol++=x; ++優先順序高於 *, 所以類似
權上面,字尾++, 表示式裡不自增,故計算分2步走,(2_1) *symbol=x
(2_2) symbol=symbol+1; symbol指向 &y[1]。
這樣,兩者效果一樣。
6樓:gta小雞
是一樣的。 *(symbol++)等價於 *symbol++。
關於c++運算子優先順序++和*的?
7樓:閻輝門曼雲
++a和a++含義不同啊,a++表明先執行後加減,所以還是從0開始的。
c++中的運算子優先順序順序是什麼?
8樓:匿名使用者
而動態資**肯定不能一個方
源法搞定,就像你的**bai有register.aspx、login.aspx等等,都需要你du自己來寫zhi,在我的httpserver裡,每個處理請求的
daojs模組都匯出processrequest(request,response)即可,比如實現一個register.js(只輸出字串register)
PHP運算子優先順序,php中的運算子優先順序是什麼樣的
php運算子優先順序 由低到高 結合方向 運算子 左 左 or 左 xor 左 and 右 print 右 左 左 左 左 左 左 無 無 左 左 左 右 int float string array object 右 無 new 由此表可以看到,的優先順序最高,其次是 最後才是?而?是左結合的,所...
C 裡過載了的運算子是否還保持原來的優先順序別
c 還保持原來的優先順序別 袁方旭 規劃局規劃符合符合法規 堂糖卻 運算子過載的時候最好不要改變優先順序,容易混淆,而且可讀性也不好 過載並不能改變運算子的優先順序 要不然就亂套了 運算子過載的規則 1.友元運算子的引數規則與類成員運算子的引數規則不同,一員運算子必須顯式地宣告一個引數,二員運算子必...
php中的運算子優先順序是什麼樣的
樓上覆制貼上的什麼玩意兒?看這個吧,php的所有運算子優先順序文件都在這裡了 網頁連結,希望採納 php中的 和or,有什麼區別呢?優先順序一樣麼? if asdfjklkj sdfjlk or sadfl sdfkjh 和if asdfads hgk asdfsad fghdfgh 前者全文來字顯...