C 反转字符串中的单词

C Reverse words in string

正在努力学习 C,所以我想反转字符串中的每个单词。 "Hello World" 至 "olleH dlroW" 这是我目前所拥有的。

int main()
{
    char str[100];
    int i;
    printf("Enter string:");
    fgets(str,sizeof(str),stdin);

    for (i = 0; i <= strlen(str); i++)
    {
        if (str[i] == ' ')
        {
            // Here the space and how should I switch words now?
        }
    }

    return 0;
}

我应该这样做吗:

temp = str[i]; j = str[i-1];

然后换地方? str[i]=j; j=温度; 我就卡在这里了!

我不会放弃答案,因为这似乎是一道作业题,也是一个很好的学习机会,但这里有一个提示:

想想如何以编程方式引用单词中每个字母的 'opposite'。所以 str[0] 和 str[strlen(str)],等等。这应该对您有所帮助,但请随时提出更多问题。

试试这个...

private void Button1_Click(object sender, EventArgs e)
{
    const string targetWords = "Hello World";
    int count = targetWords.Length;
    string result = null;
    string chr = null;

    while (!(count == 0)) {
        chr = targetWords.Substring((count - 1), 1);
        result += chr;
        count -= 1;
    }
    Debug.WriteLine(result);

}