首先我们看下这个表达式:
a*b+c*d+e*f
这个表达式是怎么运算的呢?
你可能认为是先乘后加,答案是错的
他可以的顺序为:
一、
1: a*b
2:
c*d
3:
(a*b)+(c*d)
4:
e*f
5:
(a*b)+(c*d)+(e*f)
二、
1:
c*d
2:
e*f
3:
a*b
4:
(a*b)+(c*d)
5:
(a*b)+(c*d)+(e*f)
WHY?
原因是加法运算的结合性要求两个加法运算按照先左后右的顺序执行
但对表达式的剩余部分执行顺序并未加规定,尤其是这里并没有要求
所有的乘法首先计算,也没有规则规定这几个乘法运算谁先执行。
希望这个能给楼主以启发。