a++ 与 ++a 的区别

       a++++a 都属于自增运算符,区别是对变量a的值进行自增的时机不同。a++是先进行取值,后进行自增。++a是先进行自增,后进行取值。

例如:假设 x=3,y=4;

         (1)  (x++)+(++x)=8

          解释:对于第一个(x++),因为x++是先取值后自增,所以(x++)所取得值为3,然后x进行自增,此时x=4;对于第二个(++x),因为++x是先自增后取值,所以(++x)所取得值为5,此时x=5,所以结果为8。

         (2)  (x++)/3+(--y)*2-(x--)%6+(y++)*3-(y--)

                    1+6-4+9-4=8

          解释:首先(x++)取值为3,然后x=4;然后(--y)取值为3,此时y=3;然后(x--)取值为4,然后x=3;然后(y++)取3,然后后y=4;最后(y--)取4,然后y=3;

          注意:()可以提高算数优先级,所以先算括号里面的表达式,但是x++的取值为x,然后x在自增。

          重点: ++ 运算优先级 很高

          面试题:

                       int  i = 10

                       i  =  i++ ;

           此时,i的值是多少?

            答: 输入  i 的值为 10

            解析: 首先  i++  的取值结果为10, 然后  i  进行自增,此时  i=11 ,最后 进行赋值 ,所以 最后输出 i的值 为 10.

 

评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值