nynw.net
当前位置:首页 >> jAvA中 A=A+1;和A+=1;有什么区别 >>

jAvA中 A=A+1;和A+=1;有什么区别

a=a+1,是先取a的值,在进行加加操作。它等同于a++; a+=1,是先对a进行加1操作,在返回a的值。它等同于++a;

short a = 1; //先检查是否在short范围内,如果在,再转换,砍掉高位,进行赋值 a + = 1;//同上 a = a + 1; //它不做转换,而且是两次运算 //以上两句的区别是:一个编译通过,一个失败,前者在赋值过程中低层做了强制转换动作;

语句中,b = *a+1 -- 指针a 指向的数值加1, *a 是数值, b 等于 那个数值 加 1。 或 把a看成数组元素 b = a[0] + 1; *(a+1) -- 指针 (a+1) 指向的数值 b = *(a+1) -- 可以看成数组元素 b = a[1];

a++:a先创建自身的一个副本,然后a自增1,最后返回副本的值 a+=1: 事实上相当于++a a=a+1: 虽然有点雷同于a+=1,但不同的是此时右值的a和1做相加操作,形成一个副本然后赋值给a,所以有额外操作 ++a:将a自增1并返回a 鉴于a++和++a的差别,C++Pri...

我来告诉你吧! a++是先执行赋值,再自增一 比如一段代码: int a=1; int b=a++; 当你输出b时,得到的结果是1,再输出a时结果就是2了。 而 a+=1;等价于a=a+1,一般不放入赋值符号(即=)的右边。这两句话就是这点区别,在其他情况下都是一样的。

a++:a先创建自身的一个副本,然后a自增1,最后返回副本的值 a+=1: 事实上相当于++a a=a+1: 虽然有点雷同于a+=1,但不同的是此时右值的a和1做相加操作,形成一个副本然后赋值给a,所以有额外操作 ++a:将a自增1并返回a 鉴于a++和++a的差别,C++Pri...

括号

在C语言中

C语言为了使写法更方便,单条语句更简短,增加了缩写形式。 这两种方式是一样的,没有任何区别。 除此之外,还有a *= 1,a %= 1,只要是操作符都可以。

如: int i=0; int a=i++; int b=i+1; int c=++i; a的值为0; b的值为2; c的值为2; 原因如下: i++, 这个表达式的意思是先返回i的值,再把i加1 所以 a的值即等于0,而此时i的值为1; 即a=i++相等于 a=i; i++; ······· i+1就不说了 ······· +...

网站首页 | 网站地图
All rights reserved Powered by www.nynw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com