2 sinat 34294498 sinat_34294498 于 2016.03.19 09:33 提问

运算顺序问题。。。。。

b*=n--的运算顺序是啥,先算的什么。。。。。。。。。。。。。。。。。。。

6个回答

qq_20039385
qq_20039385   2016.03.19 09:48

b*=n--翻译过来是:b = b* n--,先乘再递减

qq_20039385
qq_20039385   2016.03.19 09:46

--在后面所有先运行赋值再运行--,假设--在前面就是先运行--

leilba
leilba   Rxr 2016.03.19 09:46

可以分成以下两个部分:
b=b*n;
n=n-1;
所以顺序也就是这个了,

-- 操作一般最后做的

AgoniAngel
AgoniAngel   Rxr 2016.03.19 09:56

n--是先使用n现有的值,等所在语句其他操作执行完后才把n的值减1.

b*=n--
相当于b=b*(n--)
相当于两步:b=b*n,n=n-1

qq_30137777
qq_30137777   2016.03.19 09:57

b*=n--; 有两个运算符,乘号*和递减运算符--,*运算优先级高于--,也就是先执行b = b*n,在执行n=n-1.

curry_du
curry_du   2016.03.19 12:40

自增自减的优先级应该是高于乘法吧,由于是后减,所以是先取n值进行运算,然后在n自减一。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!