2016-07-28 80 views
-2

我试图通过阅读Herbert Schildt“c#4.0完整的参考”来学习c#,并且在其中一个示例中,我有这个警告。CS0162检测到无法到达的代码并加下划线。如何解决这个问题,为什么发生?检测到无法到达的代码。为什么?

using System; 
class ProdSum 
{ 
    static void Main() 
    { 
     int prod; 
     int sum; 
     int i; 
     sum = 0; 
     prod = 1; 
     for (i = 1; 1 <= 10; i++) 
     { 
      sum = sum + i; 
      prod = prod * i; 
     } 
     Console.WriteLine("Summ = " + sum); 
     Console.WriteLine("Prod = " + prod); 
     Console.ReadKey(); 
    } 
} 
+1

for循环。中期应改为i <= 10 – WPrecht

+2

此问题是由简单的印刷错误造成的,因此投票结束。 – martijnn2008

+0

您在for循环中写入'1 <= 10'总是为true。因此,该程序永远保留在for循环中,并且永远不会到达三个“控制台...”行 –

回答

8

1 <= 10始终是真实的,所以永远达不到下面的for循环的代码。你的意思是i <= 10

for (i = 1; i <= 10; i++) 
+0

Omg非常感谢你... im太盲目( – Shiseri

3

你的条件比较数字1与数10

1 <= 10 

这个表达式将永远是真正的控制绝不会流出循环。

您可能需要i <= 10

相关问题