跳到主要内容
版本:master

自增和自减表达式

语法

形式语法
1++ 左值表达式
2-- 左值表达式
3左值表达式 ++
4左值表达式 --

描述

自增和自减表达式用于简化对变量进行加一或减一的操作。

无论是对于形式1 和 形式2 的前序自增/自减表达式,还是形式3 和 形式4 的后序自增/自减表达式, 其被操作数的左值表达式类型都应当是 intfloat 类型。

对于前序运算,表达式的结果为自增或自减之后的值;对于后序运算,表达式的结果为自增或自减之前的值。

需要注意,自增或自减表达式能够改变其操作数的值,因此,如果对同一个变量的自增和自减运算出现在同一条表达式中,并且 表达式没有明确的求值顺序(参见 表达式求值顺序),可能得到意外的结果:

int a = 1;
int b = a++ + ++a; // 不应当期待 b 的值,避免这种写法

示例

int a = 1;
writeln(a++); // 输出 1,a 的值变为 2
writeln(++a); // 输出 3,a 的值变为 3
writeln(a--); // 输出 3,a 的值变为 2
writeln(--a); // 输出 1,a 的值变为 1

float b = 1.5;
writeln(b++); // 输出 1.5,b 的值变为 2.5
writeln(++b); // 输出 3.5,b 的值变为 3.5
writeln(b--); // 输出 3.5,b 的值变为 2.5
writeln(--b); // 输出 1.5,b 的值变为 1.5