C 反转字符串中的单词

标签 c string reverse words

尝试学习 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=温度; 我现在被困在这里了!

最佳答案

我不会放弃答案,因为这看起来像是一个家庭作业问题,也是一个很好的学习机会,但这里有一个提示:

考虑一下如何以编程方式引用单词中每个字母的“相反”。所以 str[0] 和 str[strlen(str)] 等等。这应该对您有帮助,但请随意探讨进一步的问题。

关于C 反转字符串中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34048025/

相关文章:

c - MPI 超额认购

c++ - `fseek`、 `lseek`、 `seekg`、 `seekp` 之间有什么区别?

java - PatternSyntaxException : while using String. java中的ReplaceAll函数?

java - 如何在 Java 中制作倒置列表?

ruby-on-rails - 在 Rails 中反转 has_many

c - 阅读总是比要求的少读八位字节

c - 从 sys 文件中提取资源

c - 当我将字符串分配给 int 时会发生什么?

ruby - 提取并添加指向字符串中 URL 的链接

c - 在 C 中编写程序来反转字符串中的单词时遇到问题