跳至内容

Precedence Rules

优先级规则

表格中的每组操作具有相同的优先级。操作的优先级越高,其在表格中的位置就越高。优先级规则决定了操作和运算数的分组。

注意:MQL4语言中操作的优先级对应于C++中采用的优先级。

操作描述执行顺序
()
[]
.
函数调用
引用数组元素
引用结构元素
从左到右
!
~

++
––
(类型)
sizeof
逻辑否定
位否定(补码)
符号改变
加一
减一
类型转换
确定字节大小
从右到左
*
/
%
乘法
除法
模块除法
从左到右
+
加法
减法
从左到右
««br»>左移
右移
从左到右
«br><=
>
>=
小于
小于或等于
大于
大于或等于
从左到右
==
!=
等于
不等于
从左到右
&位与运算从左到右
^位异或运算从左到右
|位或运算从左到右
&&逻辑与运算从左到右
||逻辑或运算从左到右
?:条件运算符从右到左
=
*=
/=
%=
+=
-=
«=
»=
&=
^=
|=
赋值
带赋值的乘法
带赋值的除法
带赋值的模块运算
带赋值的加法
带赋值的减法
带赋值的左移
带赋值的右移
带赋值的位与运算
带赋值的异或运算
带赋值的位或运算
从右到左
,逗号从左到右

要改变操作的执行顺序,可以使用优先级更高的括号。

MQL4旧版本的优先级规则

MQL4旧版本的优先级规则如下。

表格中的每组操作具有相同的优先级。优先级越高,其在表格中的位置就越高。优先级规则决定了操作和运算数的分组。

操作描述执行顺序
()
[]
函数调用
引用数组元素
从左到右
!
-
++
––
~
逻辑否定
符号改变运算
加一
减一
位否定(补码)
从右到左
&
|
^
«
»
位与运算
位或运算
位异或运算
左移
右移
从左到右
*
/
%
乘法
除法
模块除法
从左到右
+
-
加法
减法
从左到右
«br><=
>
>=
==
!=
小于
小于或等于
大于
大于或等于
等于
不等于
从左到右
||逻辑或运算从左到右
&&逻辑与运算从左到右
=
+=
-=
*=
/=
%=
»=
«=
&=
|=
^=
赋值
带赋值的加法
带赋值的减法
带赋值的乘法
带赋值的除法
带赋值的模块运算
带赋值的右移
带赋值的左移
带赋值的位与运算
带赋值的位或运算
带赋值的异或运算
从右到左
,逗号从左到右

使用优先级更高的括号可以改变操作的执行顺序。

注意:旧版MQL4中操作的执行优先级与C语言中的常规优先级有所不同。

最后更新于