黑马程序员技术交流社区
标题:
关于,a++赋值的问题
[打印本页]
作者:
Buer
时间:
2016-7-13 21:02
标题:
关于,a++赋值的问题
int a=3;
a=a++;
这个语句后,a的值为什么不变,还是3呢
作者:
他的好
时间:
2016-7-13 21:47
因为先将a赋值给左边的a,输出地的左边的a,但是内存空间里a自加了一次
作者:
syinys7
时间:
2016-7-13 22:18
a=a++,先赋值给了a,(a=3) 再自增,但是a已经被赋值为3了 所以....
作者:
Buer
时间:
2016-7-13 22:39
syinys7 发表于 2016-7-13 22:18
a=a ,先赋值给了a,(a=3) 再自增,但是a已经被赋值为3了 所以....
a是变量,还可以继续++的呀
作者:
robintian
时间:
2016-7-13 22:48
记住就完了,其实也没什么特别确切的道理,放在C语言环境下运行结果就是4.
作者:
Buer
时间:
2016-7-13 22:53
我想出这句的时候以为会报错呢
作者:
qetu001212
时间:
2016-7-13 23:00
JAVA中
int a=3;
a=a++;
首先是a++,将3传递给a=,然后a=4,
再将a赋值3,最后在内存中的a是3!
作者:
xfbyxq
时间:
2016-7-13 23:03
顶替顶替顶替顶替
作者:
Huangkui
时间:
2016-7-13 23:14
因为先将a赋值给左边的a,输出地的左边的a,但是内存空间里a自加了一次
作者:
cliffawesome
时间:
2016-7-13 23:20
对啊,按从左到右的顺序,是先赋值啊,再加一
作者:
sanmaovszhe
时间:
2016-7-13 23:25
先赋值是这样的啊。。用++a不就好了。。
作者:
Buer
时间:
2016-7-13 23:48
后面加一句输出语句,显示a值,是3,内存里的a值是3,亲们
作者:
Buer
时间:
2016-7-15 13:23
a++参与运算后,a的值赋予a++了
作者:
lsp0523
时间:
2016-7-15 21:38
先赋值 后自增
作者:
ssd123mn
时间:
2016-7-15 21:45
先扶植,再就运算++
作者:
zhangjiesss
时间:
2016-7-16 23:41
记住如果++在前面变量先自增在赋值,否则先赋值在自增,记住就完事啦
作者:
jmf332376308
时间:
2016-7-17 00:08
a=a++; 这个是因为是++在a的后面,当它参与完赋值之后在自增所以a=3,++a 就是先自增完再赋值。
作者:
liuyangpzy
时间:
2016-7-17 00:28
++在左,先自加,再赋值;++在右,先赋值,再自加
作者:
yuxing
时间:
2016-7-17 21:47
道理就是, 方法空间和内存空间是两个空间,形成了赋值,自加,再赋值的一个过程~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2