[情報] 運算優先順序表
這是以前看書的筆記,除了一般常見的運算優先順序和結合順序
的整理之外,還有lvalue和rvalue的區別,以及控制evaluation order的整理。
運算子 說明 範例 結果 結合性 控制運算順序
() Grouping (exp) exp N/A No
----------------------------------------------------------------------------
() Function call rexp(rexp,rexp) rexp L-R No
[] Subscript rexp[rexp] lexp L-R No
. Structure member lexp.member lexp L-R No
-> Struct pointer member lexp->member lexp L-R No
++ Postfix increment lexp++ rexp L-R No
-- Postfix decrement lexp-- rexp L-R No
----------------------------------------------------------------------------
! Logical negate !rexp rexp R-L No
~ One's complement ~rexp rexp R-L No
+ Unary plus +rexp rexp R-L No
- Unary minus -rexp rexp R-L No
++ Prefix increment ++lexp rexp R-L No
-- Prefix decrement --lexp rexp R-L No
* Indirection *rexp lexp R-L No
& Address of &lexp rexp R-L No
sizeof Size in bytes sizeof rexp rexp R-L No
sizeof(type) rexp R-L No
-----------------------------------------------------------------------------
(type) Type conversion (type)rexp rexp R-L No
-----------------------------------------------------------------------------
* Multiplication rexp * rexp rexp L-R No
/ Division rexp / rexp rexp L-R No
% Integer remainder rexp % rexp rexp L-R No
-----------------------------------------------------------------------------
+ Addition rexp + rexp rexp L-R No
- Subtraction rexp - rexp rexp L-R No
-----------------------------------------------------------------------------
<< Left shift rexp << rexp rexp L-R No
>> Right shift rexp >> rexp rexp L-R No
-----------------------------------------------------------------------------
> Greater than rexp > rexp rexp L-R No
>= Greater than or equal rexp >= rexp rexp L-R No
< Less than rexp < rexp rexp L-R No
<= Less than or equal rexp <= rexp rexp L-R No
-----------------------------------------------------------------------------
== Equal to rexp == rexp rexp L-R No
!= Not equal to rexp != rexp rexp L-R No
-----------------------------------------------------------------------------
& Bitwise AND rexp & rexp rexp L-R No
-----------------------------------------------------------------------------
^ Bitwise exclusive OR rexp ^ rexp rexp L-R No
-----------------------------------------------------------------------------
| Bitwise inclusive OR rexp | rexp rexp L-R No
-----------------------------------------------------------------------------
&& Logical AND rexp && rexp rexp L-R Yes
-----------------------------------------------------------------------------
|| Logical OR rexp || rexp rexp L-R Yes
-----------------------------------------------------------------------------
?: Conditional rexp?rexp:rexp rexp R-L Yes
-----------------------------------------------------------------------------
= Assignment lexp = rexp rexp R-L No
+= Add to lexp += rexp rexp R-L No
-= Subtract from lexp -= rexp rexp R-L No
*= Multiply by lexp *= rexp rexp R-L No
/= Divide by lexp /= rexp rexp R-L No
%= Modulo by lexp %= rexp rexp R-L No
<<= Shift left by lexp <<= rexp rexp R-L No
>>= Sgift right by lexp >>= rexp rexp R-L No
&= AND with lexp &= rexp rexp R-L No
^= Exclusive OR with lexp ^= rexp rexp R-L No
|= Inclusive OR with lexp |= rexp rexp R-L No
-----------------------------------------------------------------------------
, Comma rexp, rexp rexp L-R Yes
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.162.51
推
07/03 23:50, , 1F
07/03 23:50, 1F
推
07/03 23:51, , 2F
07/03 23:51, 2F
推
07/03 23:53, , 3F
07/03 23:53, 3F
推
07/03 23:53, , 4F
07/03 23:53, 4F
→
07/03 23:53, , 5F
07/03 23:53, 5F
推
07/03 23:53, , 6F
07/03 23:53, 6F
→
07/03 23:55, , 7F
07/03 23:55, 7F
→
07/03 23:57, , 8F
07/03 23:57, 8F
推
07/04 09:57, , 9F
07/04 09:57, 9F
→
07/04 09:57, , 10F
07/04 09:57, 10F
推
07/04 11:02, , 11F
07/04 11:02, 11F
→
07/04 11:02, , 12F
07/04 11:02, 12F
→
07/04 11:16, , 13F
07/04 11:16, 13F
※ 編輯: FRAXIS 來自: 140.119.162.51 (07/04 11:20)
推
07/04 12:27, , 14F
07/04 12:27, 14F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章