C语言中有两个特殊的算术运算符:自增运算符“++”和自减运算符“--”。它们都是单目运算符,而且运算的对象必须是变量,不能是常量。
自增运算符“++”和自减运算符“--” 的结合方向是“自右向左”,它们的作用是使运算对象的值+1或-1.
例如:
a++使变量a的值+1,等价于a =a +1;
该运算符既可以作为前置运算符(如++a或--a),也可以做为后置运算符(如a++或a--)。在只需对变量本身进行+1或-1而不考虑表达式值的情况下,前缀运算和后缀运算的效果完全相同,否则结果是有区别的。
示例:
/*自增自减运算符的用法*/
# include <stdio.h>
int main(void)
{
int x, y, i;
i = 5;
x = i++; //后缀运算,先把i的值赋给x,然后i的值+1; 此表达式等同于 x=i,i=i+1;
printf("x =%d, i = %d\n", x, i);
i = 5; //如果这里不重新给i赋值,i将继承上面的值,也就是i = 6;
y = --i; /* 前缀运算,先使i的值+1,然后再将i的值赋给y; 注意:这里i还是原值;
此表达式等同于 y=i+1,i=i+1 */
printf("y = %d, i = %d\n", y, i);
return 0;
}
/*
此程序在VC++6.0中的执行结果为:
-----------------
x =5, i = 6
y = 4, i = 4
Press any key to continue
-----------------
*/