递增运算符

王朝百科·作者佚名  2010-12-07
窄屏简体版  字體: |||超大  

C语言中的递增、递减运算符C语言中有两种非常有用的运算符++和--,分别称为递增和递减运算符,对变量执行加1或减1操作,且运算结果仍赋给该变量。递增、递减运算符和负号一样都是单目运算符,统称单项算术运算符,如表所示:

运算符

名称

示例

等价表达式

++

递增

i++或++i

i=i+1

--

递减

i--或--i

i=i-1

++和--既可写在变量之前,称为前置运算,如:++a;--a;++和--也可以写在变量之后,称为后置运算,如:a++;a--。

对单独一个变量实行前置运算或后置运算,其结果是相同的,都是使该变量的值增加或减少1。然而,当它们用在表达式中,其效果就不同了。当递增或递减运算符放在其运算变量前面进行前置运算时,C语言在使用该变量之前进行递增或递减操作;如果运算符在运算变量的后面进行后置运算,那么,C语言在使用运算变量的值之后执行递增或递减运算。

分析以下程序的输出结果。

#include <stdio.h>

void main()

{

int i1=2,i2=2,j1,j2;

j1=i1++;j2=++i2; /*①*/

printf("%d,%d,",j1,j2); /*②*/

printf("%d,%d

",i1++,++i2); /*③*/

}

输出结果是:

2,3,3,4

解:执行语句①之后,j1的值为2(因为i1++先返回i1的值,再将i1增1),j2的值为3(因为++i2将i2先增1后返回i2的值),i1和i2的值均为3。执行语句②输出2和3。执行语句③时,输出3和4。

注意:++和--运算符和单目负号运算符属于同一优先级,也就是说比*、/、%都要高,同样是按从右到左结合的。如-i++相当于-(i++)。[1]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航