黑马程序员技术交流社区

标题: 对于x=x++的理解 [打印本页]

作者: 月影千华    时间: 2015-9-28 21:47
标题: 对于x=x++的理解
本帖最后由 月影千华 于 2015-9-29 00:24 编辑

我觉得可以这样理解
int temp=x++;
x=temp;
所以结果x还是原来的值。




作者: yiranpanda    时间: 2015-9-28 23:06
进来学习学习
作者: 召唤吧Bymax    时间: 2015-9-28 23:11
这个我也不知道啊    只有运行了代码才知道
作者: 冰霜之卅    时间: 2015-9-29 00:14
必须的嘛
++是后运算。
作者: a6883767    时间: 2015-9-29 00:22
假如int x等于1  temp等于1,最后把1复给x,所以还是1 是吧波哥
作者: 月影千华    时间: 2015-9-29 00:27
a6883767 发表于 2015-9-29 00:22
假如int x等于1  temp等于1,最后把1复给x,所以还是1 是吧波哥

。。。我擦,你是哪只。。

作者: a6883767    时间: 2015-9-29 00:28
月影千华 发表于 2015-9-29 00:27
。。。我擦,你是哪只。。

是我啊波哥,三弟
作者: 月影千华    时间: 2015-9-29 00:29
a6883767 发表于 2015-9-29 00:28
是我啊波哥,三弟

。。。三弟是谁。。。
作者: a6883767    时间: 2015-9-29 00:30
月影千华 发表于 2015-9-29 00:29
。。。三弟是谁。。。

我是范三啊,波哥你还不睡觉?
作者: 月影千华    时间: 2015-9-29 00:31
a6883767 发表于 2015-9-29 00:30
我是范三啊,波哥你还不睡觉?

。。。原来是你……正准备睡呢 明天16个视频。。。
作者: 月影千华    时间: 2015-9-29 00:33
a6883767 发表于 2015-9-29 00:30
我是范三啊,波哥你还不睡觉?

白天唱几首情歌刺激一下我们神经哈
作者: vivianxie    时间: 2015-9-29 00:34
我也来看看
作者: 月影千华    时间: 2015-9-29 00:36
vivianxie 发表于 2015-9-29 00:34
我也来看看

又是一只夜猫,明天我默默看着老师过去敲你。
作者: lvfx    时间: 2015-9-29 07:38
想多了      
作者: chenguoyu520    时间: 2015-9-29 18:49
x++是先将x输出之后,然后再对x自增1
作者: a334    时间: 2015-9-29 18:58
我怎么觉得 等于x+1
作者: 向阳啊    时间: 2015-9-29 19:20
我感觉是  X++表示X+1  把这个值赋给了Temp,而Temp又把值赋X   所以感觉应该是X+1  自己看点视频,纯属个人理解
作者: 迷茫不堪的年纪    时间: 2015-9-29 20:49
我一直认为 x++ 是原值, ++是废话,   ++x   就是加1咯   ,先算后算的问题
作者: 任振铭    时间: 2015-9-29 21:07
俩加号放在变量后边做赋值运算的时候,是先赋值再自加,所以int temp =x++,假如x=3;则赋值之后先把3赋给temp,temp = 3,然后x自加,你又把temp赋值给x,则x还是3
作者: 斯文阿昊    时间: 2015-9-29 21:19
说说我的理解:第一步,把x++这个表达式的值赋给变量temp,但++符号在后面,所以先把x的值赋给temp.
第二步,执行++运算,,此时x的值相等于x=x+1.但不管x的值是多少,都不会影响第一步中已经赋给temp的值.
(++运算符比赋值运算符的等级要高,所以应先算++)
x++和 ++x的区别用毕老师的话说就是:int  a = x++就是x先出去玩,再回来吃饭.(先赋值,再运算)而int  a = ++x;就是x先吃饭,再出去玩(先运算,再赋值)
说的够详细了 ,希望你能理解,共同加油吧.
作者: 915816106    时间: 2015-9-29 21:21
理论是这样,先运算再赋值
作者: IT黑马_梧桐    时间: 2015-9-29 21:55
++放在变量的前面是先进行自加一,再进行运算,放在变量后面是先进行运算再进行自加。
如果++对变量单独使用,没有进行运算,放在前面后面都是一样的结果

作者: 281884702    时间: 2015-9-29 22:05
先赋值  再自加1
作者: 残影    时间: 2015-9-29 22:07
亲,可以看我的帖子哦。。。。。
作者: nb123cw123    时间: 2015-9-29 22:12
本来就应该先运算后++,你说是吧
作者: polarfox17    时间: 2015-9-29 22:13
举例子:你的x初始化为3,
int temp=x++;这一步是先把x的3赋给temp,之后再自增为4,,,即这时候x=4,,,,temp=3
x=temp;这一步是把temp的3赋给x,,,即这时x=3,temp=3
作者: 德胜    时间: 2015-9-29 22:44
哥们,把代码写全
作者: 阿萨德豆腐干    时间: 2015-9-29 22:57
学到了         
作者: 0925李超月    时间: 2015-9-29 23:11
int temp = x++;
解析:是把(x++)的值给予temp,因为++符号在右边,所以是把所以先使用x的值作为(x++)表达式的值先赋予temp,然后x再进行自增运算.
作者: Linstar    时间: 2015-9-29 23:32
前来凑凑热闹。混点黑马币{:3_53:}
作者: outxf003    时间: 2015-9-30 00:58
++在前的话是先自增+1再复制,++在a后面就要把a先拿出来赋值给temp,然后再进行自增,这时候temp就等于自增之前的a,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2