2.7.2 自加自减运算符与表达式
1.自加、自减运算符
自加运算符与自减运算符是C语言所特有的,主要用于给一个变量加1或减1。
自加运算符记为:“++”,其功能是使变量的值自增1。
自减运算符记为:“--”,其功能是使变量值自减1。
自加自减运算符均为单目运算,都具有右结合性,可有以下几种形式:
++i i自增1后,再参与其他运算。
i ++ i参与运算后,i的值再自增1。
-i i自减1后再参与其他运算。
i- i参与运算后,i的值再自减1。
其中i++和i--称为后缀形式,++i和--i称为前缀形式。
说明:
(1)自加自减运算符只能用于变量的运算,而不能用于常量或表达式。如6++、--2、(x+y)++都是不合法的。
(2)当i++和++i作为独立的语句时,两者并无区别,都等价于i=i+1。同理,当i--和--i作为独立的语句时,两者也无区别,都等价于i=i-1。
(3)当i++和++i不是以单独的语句出现时(例如出现在表达式中),两者有着本质的区别。i++是i先参与运算后,i的值再自增1;而++i是i先自加1,然后再参与运算。
【例2-6】自增自减运算符应用。
i的初值为8,第2行i加1后输出,故为9;第3行减1后输出,故为8;第4行输出i为8之后再加1(为9);第5行输出i为9之后再减1(为8);第6行输出-8之后再加1(为9),第7行输出-9之后再减1(为8)。
【例2-7】自增自减表达式应用。
在这个程序中,对p=(i++)+(i++)+(i++)应理解为三个i相加,故p值为15。然后i再自增1三次相当于加3,故i的最后值为8。而对于q的值则不然,q=(++j)+(++j)+(++j)应理解为q先自增1,再参与运算,由于q自增1三次后值为8,三个8相加的和为24,j的最后值仍为8。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。