++,--运算符及其副作用

来源:互联网 发布:淘宝秒杀信息收集 编辑:程序博客网 时间:2024/06/11 21:13

++i,- - i,使用i值之后,再使i值+1或者-1。

i++,i--,使i值+1或者-1后再使用i值。  


1、++,--结合方向是自右至左的,算术运算符是自左至右的,而且两者同优先级。


int  i = 1;

int  j = -i++;

运行后的结果是i = 2 j = -1, -i++ 实际上是 -(i++)(结合方向),由于是后++,因此先使用i的值,再取其相反数-i,并赋给j,最后再在i的值上加+1。

若改成 int  j = -++i; ,则运行结果是i = 2 j = -2 -i++ 实际上是 -(++i),此处是因此先使用i的值,在i的值上加+1后再取其相反数-i,并赋给j。


2、+++,---等计算机是自左至右的解析这个运算符的。

i+++j,实际上(i++)+j,而不是i+(++j)。注意若i,j等于1,该表达式的结果是2,理由同1。


3、++、--在printf中的应用


int i =1;

printf(“%d%d%d”,i,++i,i--); printf的输出是采取栈的方法,分别将i--,++i,i压栈,再依次出栈。则压栈时,先取值i =1,压栈后底部元素值为1,再进行减1操作,此时i值为0,之后,进行+1操作再压栈,则第二个元素值为1,最后一个元素值就为1。即最后输出为1 1 1。


原创粉丝点击