为了账号安全,请及时绑定邮箱和手机立即绑定

为啥score=socre+1;不能写成score=socre++;

百度说语法错误但是不太理解

正在回答

4 回答

楼主我觉得你还是先看清自己写的代码再提问题吧,我不知道你的score和socre是因为你写错了,还是说本来就是两个变量。如果是你写错了,那就是说你想问score=score+1与score=score++的区别,这两条语句没有区别,效果相同,都使score自增1;如果你没写错,那么这就是两个变量,那就有区别了,score=socre+1执行后,score的值比socre多1,score=socre++执行后,score的值就是socre原来的值,并且socre自增1。


0 回复 有任何疑惑可以回复我~

这里涉及到 n++++n 的区别:

他们两个如果单独使用,就是一样的,自增一。

你直接写 score++; ++score; 都是对的

但是如果要用赋值的方式,那么就涉及到他们两者的区别了,即:

1. n = score++  表示先赋值,再自增,n 的值为score自增前的值

2. n = ++score  表示先自增,再赋值,n的值为score自增后的值

你写的代码是情况一,但是你的n就是score本身,所以,你的score就前后冲突了。


1 回复 有任何疑惑可以回复我~

如果写成score=score++,那输出以后还是score原来的值,意思就是先表达,再自增1;

而score=++score的意思就是先自增1,再表达,效果就和score=score+1一样了。

0 回复 有任何疑惑可以回复我~

因为score=score++的意思是,先将score的值赋值给score,再将其进行自增操作。

score=score+1,应该写成:score=++score。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为啥score=socre+1;不能写成score=socre++;

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信