-3
私は、コードへの答えは(無限ループ)で、私のC#コードでこの部分を持っているC#RETVAL合併症
誰もが説明で私を助けてくださいことはできますか?
private void Form1_Load(object sender, EventArgs e)
{
Int32 X = 1;
Int32 RetVal = X;
while (X <= 5)
{
if (X == RetVal && X < 2)
RetVal = 4;
X = RetVal;
X += 1;
}
MessageBox.Show(X.ToString());
より大きくなってきたことがないため、
X = RetVal;
に5より大きくなることはありませんあなたはデバッグしようとしましたか?コードからも、最初のループ 'X'が' 5'で、 'RetVal'が' 4'の後に見ることができます。これは、あなたの 'if'条件が' false'なので、このままになります。 'if'の後に' X'が 'RetVal'(' 4')に設定され、再び '5'がインクリメントされます。各反復の後、 'X'は' 5'であり、 'RetVal'は' 4'です。 –これは即座にデバッガを使用する理由の1つです – Steve
あなたのインデントを修正してはいけないかもしれません。たぶんあなたは 'X = RetVal'が正の' if'ブランチの一部であると思ったでしょうか? –