int n=5
n+=n*=n-2
请问最后值是30还是18啊
谢谢了!
int n=5
n+=n*=n-2
请问最后值是30还是18啊
谢谢了!
n = 30
楼上那位匿名的兄弟少了一步如果按照那位的解释
在
k=n*k;
n+=k;之间应该在有个k=n 就对了
这是这个语句分解之后的,最后结果30
n*=n-2;
n+=n;
优先级一样,遵循自右向左的原则。
int n=5
n+=n*=n-2
先计算n-2=3
然后n*n=9
最后n+n=18
最后的值是20
n+=n*=n-2
可以拆成
int k=n-2;
k=n*k;
n+=k;
其实这种写法一般在学校考试时候比较常见,工作时候一般项目小组都会有代码规范,这种写法一般都是不允许的,一条式不能出现多于1次的运算赋值符号(像:+=、*=)以后代码维护时候人家要接手你的工作也会比较容易一点
*********您好!Yadie.23很高兴能为你解答。********* +++++++++++++++++++++++++++++++++++++++++++++++++
本人见解:
代码有误。。
+++++++++++++++++++++++++++++++++++++++++++++++++ You can have a try,maybe my answer useful to you. 如满意,Yadie.23十分感谢您的采纳。*^-^*