int x = 10; x += x--; in .Net - Why? 在.Net中,int x = 10; x += x--; 这样的语句是为了展示C#语言中的运算符优先级和求值顺序的一个例子。这个语句的结果可能会让人感到困惑。 首先,这个语句中使用了后缀自减运算符--,它会先使用变量的值,然后再将变量的值减一。因此,x--的值为10,然后x的值变为9。 接下来,+=运算符是一个复合赋值运算符,等同于x = x + x--。根据运算符的优先级,先进行加法运算,然后再进行赋值。由于x--的值为10,所以x += x-- 相当于 x = x + 10。因此,x的值会变为19。 需要注意的是,这种写法虽然在C#语言中是合法的,但它在不同的编程语言中的行为可能会有所不同。在其他语言中,可能会出现不同的结果或者编译错误。因此,在编写代码时,应该避免使用这种不直观的写法,以免引起混淆或错误。
- 论坛
- int x = 10; x += x--; in .Net - Why? 在.Net中,int x = 10; x += x--; 这样的语句是为了展示C#语言中的运算符优先级和求值顺序的一个例子。这个语句的结果可能会让人感到困惑。 首先,这个语句中使用了后缀自减运算符--,它会先使用变量的值,然后再将变量的值减一。因此,x--的值为10,然后x的值变为9。 接下来,+=运算符是一个复合赋值运算符,等同于x = x + x--。根据运算符的优先级,先进行加法运算,然后再进行赋值。由于x--的值为10,所以x += x-- 相当于 x = x + 10。因此,x的值会变为19。 需要注意的是,这种写法虽然在C#语言中是合法的,但它在不同的编程语言中的行为可能会有所不同。在其他语言中,可能会出现不同的结果或者编译错误。因此,在编写代码时,应该避免使用这种不直观的写法,以免引起混淆或错误。
16 浏览
int x = 10; x += x--; in .Net - Why? 在.Net中,int x = 10; x += x--; 这样的语句是为了展示C#语言中的运算符优先级和求值顺序的一个例子。这个语句的结果可能会让人感到困惑。 首先,这个语句中使用了后缀自减运算符--,它会先使用变量的值,然后再将变量的值减一。因此,x--的值为10,然后x的值变为9。 接下来,+=运算符是一个复合赋值运算符,等同于x = x + x--。根据运算符的优先级,先进行加法运算,然后再进行赋值。由于x--的值为10,所以x += x-- 相当于 x = x + 10。因此,x的值会变为19。 需要注意的是,这种写法虽然在C#语言中是合法的,但它在不同的编程语言中的行为可能会有所不同。在其他语言中,可能会出现不同的结果或者编译错误。因此,在编写代码时,应该避免使用这种不直观的写法,以免引起混淆或错误。
在C#/.Net中,为什么它等于它等于的值?(我故意没有给出答案,这样你可以猜一猜并看看你是否正确)