递增运算符
C语言术语
递增运算符是单目运算符,C语言中有两种非常有用的运算符++和--,分别称为递增和递减运算符,对变量执行加1或减1操作,且运算结果仍赋给该变量。
C语言
递增、递减运算符和负号一样都是单目运算符,统称单项算术运算符,如表所示:
++和--既可写在变量之前,称为前置运算,如:++a;--a;++和--也可以写在变量之后,称为后置运算,如:a++;a--。
对单独一个变量实行前置运算或后置运算,其结果是相同的,都是使该变量的值增加或减少1。然而,当它们用在表达式中,其效果就不同了。当递增或递减运算符放在其运算变量前面进行前置运算时,C语言在使用该变量之前进行递增或递减操作;如果运算符在运算变量的后面进行后置运算,那么,C语言在使用运算变量的值之后执行递增或递减运算。
分析以下程序的输出结果。
#include
void main()
{
int i1=2,i2=2,j1,j2;
j1=i1++;j2=++i2; /*①*/
}
输出结果是:
2,3,3,4
解释
执行语句①之后,j1的值为2(因为i1++先返回i1的值,再将i1增1),j2的值为3(因为++i2将i2先增1后返回i2的值),i1和i2的值均为3。执行语句②输出2和3。执行语句③时,输出3和4。
注意
++和--运算符和单目负号运算符属于同一优先级,也就是说比*、/、%都要高,同样是按从右到左结合的。如-i++相当于-(i++)。
php
php 支持 C 风格的前/后递增与递减运算符。
注: 递增/递减运算符不影响布尔值。递减 NULL 值也没有效果,但是递增 NULL 的结果是 1。
一个简单的示例脚本:
在处理字符变量的算数运算时,php 沿袭了 Perl 的习惯,而非 C 的。例如,在 Perl 中 'Z'+1 将得到 'AA',而在 C 中,'Z'+1 将得到 '['(ord('Z') == 90,ord('[') == 91)。注意字符变量只能递增,不能递减。
例子 15-4. 涉及字符变量的算数运算
递增或递减布尔值没有效果。
参考资料
递增/递减.幸智文库.
最新修订时间:2024-08-08 11:01
目录
概述
C语言
参考资料