c语⾔运算符优先级从右到左,c语⾔运算符优先级,结合性(左
右结合详解)
重新翻了遍c语⾔,觉得对c语⾔运算符结合性有必要提⼀下,毕竟去年我⾃⼰刚学c语⾔的时候,就没搞明⽩结合性的问题。
什么是左结合?什么是右结合?它们是⼲嘛⽤的?它们是什么时候⽤的?
本⽂将围绕这⼏个问题展开..
(⼩⽩⽂,⼤神绕道)
先附录⼏个⾃⼰学习过程中的参考⽹站。(有些见解和例⼦来⾃⼀下⽹站)
在讲结合性之前,先提⼀下c语⾔的运算符及其优先级关系。
C语⾔运算符优先级
优先级
运算符
名称或含义
使⽤形式
结合⽅向
说明
1
[]
数组下标
数组名[常量表达式]
左到右
--
()
圆括号
(表达式)/函数名(形参表)
--
.
成员选择(对象)
对象.成员名
--
->
成员选择(指针)
-
负号运算符
-
表达式
右到左
单⽬运算符
~
按位取反运算符
~表达式
++
⾃增运算符
++变量名/变量名++ --
⾃减运算符
--变量名/变量名--
*
取值运算符
*指针变量
&
取地址运算符
&变量名
!
逻辑⾮运算符
!表达式
(类型)
强制类型转换
(数据类型)表达式
--
sizeof
长度运算符
sizeof(表达式)
--
表达式/表达式
左到右
双⽬运算符
*
表达式*表达式
%
余数(取模)
整型表达式%整型表达式4
+
表达式+表达式
左到右
双⽬运算符
-
表达式-表达式
5
<<
左移
变量<
左到右
运算符优先级按从高到低排列双⽬运算符
>>
右移
变量>>表达式
6
>
⼤于
表达式>表达式
⼤于等于
表达式>=表达式<
⼩于
表达式
<=
⼩于等于
表达式<=表达式7
==
等于
表达式==表达式左到右
双⽬运算符
!=
不等于
表达式!= 表达式8
&
按位与
表达式&表达式左到右
双⽬运算符
9
^
按位异或
表达式^表达式左到右
双⽬运算符
10
|
左到右
双⽬运算符
11
&&
逻辑与
表达式&&表达式左到右
双⽬运算符
12
||
逻辑或
表达式||表达式
左到右
双⽬运算符
13
:
条件运算符
表达式1?
表达式2: 表达式3右到左
三⽬运算符
14
=
赋值运算符
变量=表达式
右到左
--
/=
除后赋值
变量/=表达式
--
*=

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。