-
beckzl
n--的意思是先运算 然后再自身减一 所以计算的时候是7而不是6。
-
miku61
x=(m+n*5+(n--)) =(5+7*5+(7--))我相信楼主这步应该没有疑惑。我们先将(7--)搁浅,前面部分的结果为x=(40+(7--))这里就涉及 n-- 是什么意思的问题了n--其实是一种缩写,原来的表达应该是“n=n-1”,只不过这种表达比较好看啦,方便啦。普遍什么的大家都这么用了。这里插播一个小知识点。n-- 和 --n 的问题--(或者++)在字母的后面,表示为:赋值之后再运算。而--(或++)在字母的前面表示运算之后再赋值。运算就是指加1的运算。题目是--在字母后面,所以先赋值。再自己加上1.因此,拆解下来x=(40+n) n=n-1;所以x=47,n=6;参考程序(c语言):#include<stdio.h>main(){ int m=5; int n=7; int x=(m+n*5+(n--)); printf("x=%d,n=%d",x,n);}
-
Qyizos
我想你应该是在n--这里搞不明白吧。你可能认为n--之后,值变为了6。这里要说到n--和--n的区别:--n是遇到之后,直接对n减1 n--是在本语句执行结束后,才对n进行减1操作。望采纳。
-
儁破孩
int x = (5 + 7 * 5 + (7));如果你打印n的值为6
-
饺子蜜饯
简单粗暴理解就是,以分好(;)为界,出现后++或者后--,在分号这一句代码结束之前都用原来的数值,分号结束后在给原数值加减一! int x=(m+n*5+(n--)); 这一句分号以前n都等于7,分号完结时在给n减去1
-
weibo_微天下微生活_0
--n不就是你理想的值了,执行时n先自减1
-
happygl16
5*7=35+5=40+7=47 n--不执行 如果--n 就执行
-
Happy_Imp
你用--n试试..
-
饺子蜜饯
JVM运行时是这样的
-
心魔0
n--在下一次调用n时才会是6所以你的公式是 5+35+7