代码如下:
class Program
{
static string str = Console.ReadLine();
static char[] word = str.ToCharArray();
static void Main(string[] args)
{
foreach (char c in word)
{
Console.WriteLine("{0}\n", c);
}
for (int i = 0; i <word.Length; i++)
{
word[i] = word[word.Length - 1 - i];
Console.WriteLine(word[i]);
}
Console.ReadLine();
}
}
word[i] = word[word.Length - 1 - i];
这句有问题吧,再加一变量
把字符串分割成数组,然后直接用数组倒序,再拼接~~
将:word[i] = word[word.Length - 1 - i]; 加一个中间变量,用来交换数据,第1个转移到最后一个。
for (int i = 0; i <word.Length; i++)
{
word[i] = word[word.Length - 1 - i];
Console.WriteLine(word[i]);
}
这个循环中存在问题,将字符串倒置时有字符没保留。如i=0时,直接将word[word.Length - 1 - 0]赋值给word[0],那么字符word[0]被覆盖了。希望能帮到你哈。