我有这个代码后增量问题
static void Main(string[] args)
{
int x = 20;
int y = 35;
x = y++ + x++;
y = ++y + ++x;
Console.WriteLine(x);
Console.WriteLine(y);
Console.ReadLine();
}
我预计输出为x = 57和y = 94。然而,在执行时它给了我56和93 出于某种原因后增量运算符没有在第3行执行。
这是因为我们将第3行中的表达式的结果赋值给x本身?是否还有其他情况下,后增量运算符不会按预期结果。
谢谢。
只是一个提示:如果你把每个测试用例放在一个单独的函数中,这样的情况就容易得多了。由于第一次分配,验证第二次分配中发生的事情是非常困难的。 – 2010-12-12 11:02:22