次のプログラムが "4,4"ではなく "4,6"を出力する理由を説明してください。戻り値と出力パラメータの実行順序
MainProgram()
{
int x = 2;
int y = 0;
parse(4, out y);
Console.Write(y + ",");
y = y + parse(x, out y);
Console.Write(y);
}
int parse(int x, out int y)
{
y = x;
return y;
}
多くの感謝!
FYI - Eric Lippertは、この正確な問題について素晴らしい投稿をしています。http://blogs.msdn.com/b/ericlippert/archive/2008/05/23/precedence-vs-associativity-vs-order.aspx "評価の順序"のセクションを参照してください) –
なぜこのコードを最初に書くのは夢中ですか? –
私は4,4が賢明な出力であると思っている理由を説明することをお勧めします。そしてあなたの間違いを指摘することができます。推論の連鎖が間違っているところ。 –