Почему мой программный код не выполняет оператор goto бесконечно в C#?
class Program
{
static void Main()
{
int i ;
for ( i=0; i < 10;i++ )
{
// p: Console.WriteLine("hello");
p: if(i%2!=0)
{
if(i==5)
{
goto p;
}
}
Console.WriteLine(i);
}
Console.ReadKey();
}
}
//output : 0 1 2 3 4
1 ответ
goto
выполняется К сожалению, ничего не изменилось в переменных, так что выполнение занимает тот же путь, что и раньше: он достигает goto
снова. Это бесконечный цикл.
Обратите внимание, что в частности i
имеет одинаковое значение до и после прыжка. Может быть, это ваше недоразумение.
Вы должны научиться использовать отладчик. Это видно при пошаговом прохождении программы.