++、--,自增自减可以这样算!一点都不费劲

2019-08-02  本文已影响0人  志熙兮

++、--,自增自减要怎么算?

++ -- 属于单目运算符

++ 表示自增一

-- 表示自减1

有两种情况:

1、单独使用

​ 表示自增或者是自减,没有什么区别

2、参与运算

​ 如果 ++ 放在操作数的左边,如:++a 就表示 a 先自增一 再参与运算(--同理)

​ 如果 ++ 放在操作数的右边,如:a++ 就表示先参与运算 再自增一(--同理)

有时候觉得挺简单的,不就是自增一、自减一吗。有时候算着就出错了

那就先上两道题目吧!

如题:
int x = 3;
int y = (x++)%(++x);
求 x、y 的值

解析:
1、上面3赋值给x
2、下面 x++ 表示用(x++ = 3)先参与运算,此时x已经偷偷自增一 x=4 了
3、后面 ++x 表示先自增一为(++x = 5),进过上面一次自增已经是 4 的 x 再增了一,就 x=5 了
4、有了上面的计算,y = 3%5 ,y=3
5、x=5 y=3

总结:x 有了两次的自增,所以就 x+1+1 = 5
int n = 5;
n = ++n + ++n;
求n=?

解析:
1、上面 5 赋值给 n
2、(下面 ++n 表示先自增1)再加上( ++n 先自增1),就是 n = 6 + 7
3、n 被重新赋值,所以最后输出 n = 13
练练手:

int a = 2;
int b = 3;
int res1 = ((a++)+(++b))*2+(--a)%(b++)-(++a)*3+(--b)/(--a);
请推断res1,a,b此时的值

心得:运算的时候,一定要记录下来a b两个数的自增或自减后的情况,最终的a b的值就是要输出的

计算结果:   res1=8      a=2     b=2

遇到自增自减的题,只要仔细点,把每一步的自增自减后得值记录好,相信自己!就不会有问题的

上一篇下一篇

猜你喜欢

热点阅读