
上QQ阅读APP看书,第一时间看更新
2.3.3 自增和自减运算符
【例2.9】自增运算符的应用:请分别计算出下列x,y的值。
程序段1:
扫一扫 看视频


本程序段的运行结果为:
x=5,y=6
程序段2:

本程序段的运行结果为:
x=6,y=6
上述两个程序段的运行结果之所以不同,是因为a++和++a这两种表示形式。x=a++的运算过程是先引用a值5并赋给x,然后a再自加1得到6,所以x=5;而x=++a是a先自加1得到6,然后引用a的值并赋给x,所以x=6。
相关知识3
自增(++)和自减(--)运算
作用:自增(++)运算使单个变量的值增1,自减(--)运算使单个变量的值减1。
两种运算类型:
①前置运算:++i,--i,表示先使变量的值增1或减1,再使用该变量。
②后置运算:i++,i--,表示先使用该变量参加运算,再将该变量的值增1或减1。
自增和自减运算符如表2-10所示。
注意:自增和自减运算符中的4个符号同级,且高于双目算术运算符。
说明:单独的自增和自减运算,前置和后置等价。如a++;和++a;等价,都相当于a=a+1。自增运算符(++)和自减运算符(--)只能用于变量,而不能用于常量或表达式,如5++或(a+b)++都是不合法的。它们的结合方向是“自右至左”。它们常用于后面章节的循环语句中,使循环变量自动增加1;也用于指针变量,使指针指向下一个地址。
表2-10 自增和自减运算符

思考:i=1;printf("%d",-i++);的输出结果是什么?