[我使用while循环反转C#中的字符串,我得到正确的输出,但是我使用与for循环相同的逻辑,然后输出错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[我使用while循环反转C#中的字符串,我得到正确的输出,但是我使用与for循环相同的逻辑,然后输出错误相关的知识,希望对你有一定的参考价值。

这是我使用while循环并获得类似这样的正确输出的方式:“ dlrow olleh”

static void Main(string[] args)
    {
        string str = "Hello world";
        string reverse = "";

        int length = str.Length - 1;

        while (length >= 0)
        {
            reverse = reverse + str[length];
            length--;
        }
        Console.WriteLine(reverse);

        Console.ReadKey();
    }

但是当我使用具有相同逻辑的for循环时,会得到不同的输出,这对我来说不合适,输出是:“ ddddddddddd”

        static void Main(string[] args)
    {
        string str = "Hello world";
        string reverse = "";

        int length = str.Length - 1;

        for (int i = length; i >= 0; i--)
        {
            reverse = reverse + str[length];
        }
        Console.WriteLine(reverse);

        Console.ReadKey();
    }
答案

这里检查此

static void Main(string[] args)
{
    string str = "Hello world";
    string reverse = "";

    int length = str.Length;

    for (int i = length; i >= 0; i--)
    {
        reverse = reverse + str[i-1]; // here a change
    }
    Console.WriteLine(reverse);

    Console.ReadKey();
}

以上是关于[我使用while循环反转C#中的字符串,我得到正确的输出,但是我使用与for循环相同的逻辑,然后输出错误的主要内容,如果未能解决你的问题,请参考以下文章

使用循环在Python中反转字符串? [复制]

在python中反转字符串中的子字符串

反转链表中的每 k 个节点块

中缀到前缀的程序中的c函数中未返回反转字符串

使用条件 while/for 循环的指针在编译时会出错

如何使用C中的while循环使程序无限重启