C语言基础学习运算符-自增自减

自增自减

这两种运算符以两种方式出现:

在第一种方式中,++或--出现在它作用的变量的前面,称为前缀模式;

反之称为后缀模式。

 

这两种模式的区别在于前缀模式是先执行自增(或自减)操作,再返回自增(或自减)后变量的值,后缀模式是先返回变量的值,再进行自增(或自减)操作。我们来看下面这一段代码:

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

猜你喜欢

转载自octopole.iteye.com/blog/2326163