C 语言的表达式中,可以使用两个很特别的单目运算符,这两个运算符是
:++ 、--
“++”称为自增运算符,“--”称为自减运算符。
“++”称为自增运算符,“--”称为自减运算符。
它们既可以出现在运算对象的前面,如++i;又可以出现在运算对象的后面,如i++。
前者称为前缀运算符,后者称为后缀运算符。
自增运算符的功能是使变量的值加 1,而自减运算符的功能是使变量的值减 1。
例如,假设 i、j 的初始值都为 1,则执行++i 或 i++后,i 的值为 2;执行--j 或 j--后,j 的值为 0。
增量运算符所作用的运算对象只能是变量,不能是常量或由运算符构成的表达式。例如,++(x+y)、++5 都是不正确的。
增量运算符作用于变量以后,与变量一起构成了一个新的表达式──增量表达式。增量表达式不能出现在赋值表达式的左边。例如,i++=1 是不允许的。另外,在表达式中,前缀运算符和后缀运算符所起的作用不一样。前缀运算符的作用是:在使用变量之前,先使变量加 1(对“++”而言)或减 1(对“--”而言);后缀运算符的作用是:在使用变量之后,再使变量加 1(对“++”而言)或减 1(对“--”而言)。
例如,设 i 的值为 1,则执行赋值语句 j=i++; 后,j 为 1,而 i 变为 2。它等价于执行下面两个语句后的结果:j=i;i=i+1;但是,执行赋值语句j=++i;后,则 j 为 2,i 变为 2。因为它等价于执行下列两个语句后的结果:
i=i+1;j=i;
就是这样的。
例如,假设 i、j 的初始值都为 1,则执行++i 或 i++后,i 的值为 2;执行--j 或 j--后,j 的值为 0。
增量运算符所作用的运算对象只能是变量,不能是常量或由运算符构成的表达式。例如,++(x+y)、++5 都是不正确的。
增量运算符作用于变量以后,与变量一起构成了一个新的表达式──增量表达式。增量表达式不能出现在赋值表达式的左边。例如,i++=1 是不允许的。另外,在表达式中,前缀运算符和后缀运算符所起的作用不一样。前缀运算符的作用是:在使用变量之前,先使变量加 1(对“++”而言)或减 1(对“--”而言);后缀运算符的作用是:在使用变量之后,再使变量加 1(对“++”而言)或减 1(对“--”而言)。
例如,设 i 的值为 1,则执行赋值语句 j=i++; 后,j 为 1,而 i 变为 2。它等价于执行下面两个语句后的结果:j=i;i=i+1;但是,执行赋值语句j=++i;后,则 j 为 2,i 变为 2。因为它等价于执行下列两个语句后的结果:
i=i+1;j=i;
就是这样的。