2016-07-28 73 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

相關問題