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
答案 0 :(得分:0)
正在执行goto
。不幸的是,变量中没有任何变化,因此执行采用与以前完全相同的路径:它再次到达goto
。这是一个无限循环。
注意,特别是i
在跳转之前和之后具有相同的值。也许这是你的误解。
您应该学会使用调试器。单步执行程序时可以看到这一点。