我有這個代碼後增量問題
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