自增/自减运算符与自增/自减表达式
上一节
下一节
课前准备:自增/自减运算符与自增/自减表达式
一、相关知识学习
自增(++)/自减(--)运算符用于使变量值自增1或自减1。++/--是C语言中较为独特的单目运算符,其操作对象可以是字符型、整型、指针型变量或数组元素,运算结果与运算对象的数据类型一致。优先级高于双目算术运算符,结合性为自右到左。
自增(++)/自减(--)表达式由原算法和变量构成,有两种形式:
++变量名/--变量名 (前缀运算)
变量名++/变量名-- (后缀运算)
前缀运算是“先运算后使用”,即变量先加/减1,然后再将变量运用到表达式中。
后缀运算是“先使用后计算”,即将变量先参与表达式运算中,然后再对变量值加/减1。例如:
int a=10, b=10;
x=++a; /*表示a的值先加1变成11后,再将新值11赋给x*/
x=b++; /*表示将b的当前值10赋给x后,b再加1变为11*/
使用自增/自减运算时应注意下面几个问题:
(1)自增/自减运算只能作用于变量,不允许对常量、表达式或其它类型的变量进行此操作。例如1++,--(x+y)均非法;
(2)当自增或自减运算独立构成一条语句时,则前缀运算和后缀运算的效果相同;例如:++x; 等价于x++; --x;等价于x--;
(3)如果一个表达式中对同一个变量进行多次自增/自减运算,例如:a+++a+++a+++a,不仅表达式的可读性差,而且不同编译系统对表达式的处理不尽相同,导致结果可能不同。