C语言基础学习运算符-自增自减 博客分类: C语言 i++++i自增自减
程序员文章站
2024-03-19 10:55:58
...
自增自减
这两种运算符以两种方式出现:
在第一种方式中,++或--出现在它作用的变量的前面,称为前缀模式;
反之称为后缀模式。
这两种模式的区别在于前缀模式是先执行自增(或自减)操作,再返回自增(或自减)后变量的值,后缀模式是先返回变量的值,再进行自增(或自减)操作。我们来看下面这一段代码:
int a = 1; int b = a++; //后缀模式 int c = ++a; //前缀模式
若输出a、b、c的值,你会发现,a的值为3,b的值为1,而c的值为3。为什么b的值依然是1?这是因为,采用后缀模式意味着使用a的值之后改变a,在进行b = a++的计算时,先把a的值赋给b,之后a再加1。而c = ++a采用了前缀模式,在进行计算时,先把a的值加1,之后在把新的a值赋给c。
当然,你可以巧妙地避开前缀模式和后缀模式讲产生不同效果的代码,即把自增与自减运算和赋值运算分成两行。在下面的代码中,即使把i++改成++i,j的值依然是相同的。
int i = 1; i++; int j = i;
注意,上面这段代码和下面这段代码效果完全是等同的:
int i = 1; i = i + 1; int j = i;
更多学习内容,就在码芽网http://www.mayacoder.com/lesson/index