代码如下:
class Program
{
static void Main(string[] args)
{
int a = 5,b=7;
a = ++a;//这里是先加,所以++a=a+1.
b = b--;//这里b--等于是取b的原值,但是b--的优先级大于=,为什么不减去1呢????
Console.WriteLine(a);//输出6.
Console.WriteLine(b--);//输出7.
Console.WriteLine(b);//这里输出是6,从上面一句我们知道b--减了1,
//说明上面一句已经运算过了,但是为什么b = b--没有运算呢????
Console.ReadKey();
}
}
我就是想知道明明x--的优先级大于=,为什么b=b--;这句话运算完了不是6呢?请各位大虾指点,谢谢了.
--确实优先级大于=,但是,--有两种写法,一种是x--,一种是--x,区别是前者先用再自减,后者才是先自减再使用
可以看一下MSDN中关于++和--的帮助
但是你看b=b--用完了但是没有自减,还是这里b--就是b=7而不做运算呢?
哦明白了,x--该运算的结果是操作数减小“之前”的值。谢谢了