int a =8,b= 6;则表达式++a-b++的值为什么等于3不是4?b++可以不用管了吗
++ 在a前面表示先把a的值加一再参加运算
++ 在b后面表示b参加运算之后再加一
我都是这样记的
那这样的话,a在和 b++ 相减之前先加一等于 8+1=9
b的值是和a相减之后再加一,所以先不用管
所以 9 - 6 = 3
运算结束,b的值再增加1,6+1=7
你可以在最后面打b打印出来看看,b肯定是7
有帮助的话希望采纳一下呀
++a,先++,再取值
a++,先取值,再++
注意,++的优先级比算术优先级高,因此是整个表达式执行之前或整个表达式执行之后再执行
跟放到表达式的左边右边还是括号里无关
-=-=-=-=
那么表达式c=++a-b++
其实就等价于
++a;
c=a-b;
b++;
-=-=-=-=
举一反三:
b=(a++)+(a++)+(a++);
等价于
b=a+a+a;
a++;
a++;
a++;