using System;
namespace G09 {
class Reverse {
static void Main()
{
Console.WriteLine(ReverseText(24));
Console.ReadKey();
}
static string ReverseText(int n) {
if (n < 1)
{
return "";
}
string index = "1";
string revIndex = "";
int count = 1;
string[] arr = new string[n];
for (int i = 0; i < n; i++)
{
arr[i] = index + revIndex;
for (int j = 0; j <= i; j++)
{
if (count > 8)
{
index = index + 0;
count = 0;
break;
}
index = index + (count++ + 1).ToString();
break;
}
revIndex = "";
for (int k = index.Length - 1; k >= 0; k--)
{
if (k == index.Length - 1)
{
continue;
}
revIndex += index[k];
}
}
return string.Join("\n", arr);
}
}
}
/tmp/csharp117013-18-5s54om.vh6mt2o6r/code.cs(10,41):警告CS0162: 检测到无法访问的代码
有谁能告诉我为什么第23行无法访问此代码? 我无法理解......在视觉工作室中它工作正常,但在其他节目中出错。
答案 0 :(得分:7)
由于j++
在最后,break
删除了其中之一,因此for (int j = 0; j <= i; j++) {
...
break;
}
毫无意义
O((Q + N) log N)
答案 1 :(得分:5)
你永远不会增加break
,因为你在第一次循环后for (int j = 0; j <= i; j++) //<- Error here, j++ will never be reached
{
if (count > 8)
{
index = index + 0;
count = 0;
break;
}
index = index + (count++ + 1).ToString();
break; //you leave the for loop here
}
迭代
n1 = Node1()
n2 = Node1()
n2.connect_input('num1', n1.outputs, 'num2')
答案 2 :(得分:2)
你的问题在于for for循环:
break
我猜测for循环从第23行开始。因为你在for循环中包含j++
语句的所有路径,for循环的j
部分永远不会被命中。在执行变量C
的增量之前,循环将执行一次并中断。