首页 新闻 搜索 专区 学院

C#中x++(x--)的问题,请各位大虾指点

0
悬赏园豆:10 [已解决问题] 解决于 2012-02-25 19:31

代码如下:

    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呢?请各位大虾指点,谢谢了.

c#
Vchard的主页 Vchard | 初学一级 | 园豆:191
提问于:2012-02-25 16:49
< >
分享
最佳答案
1

--确实优先级大于=,但是,--有两种写法,一种是x--,一种是--x,区别是前者先用再自减,后者才是先自减再使用

可以看一下MSDN中关于++和--的帮助

收获园豆:10
丁学 | 专家六级 |园豆:18530 | 2012-02-25 19:22

但是你看b=b--用完了但是没有自减,还是这里b--就是b=7而不做运算呢?

Vchard | 园豆:191 (初学一级) | 2012-02-25 19:24

哦明白了,x--该运算的结果是操作数减小“之前”的值。谢谢了

Vchard | 园豆:191 (初学一级) | 2012-02-25 19:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册