编写一个 C 程序，从用户处获取一个字符串并将其反转
#include <stdio.h>
#include <string.h>

// 反转任何以指针 begin 开始，以指针 end 结束的序列
void Reverse(char* begin, char* end) {
    char temp;
    while (begin < end) {
        temp = *begin;
        *begin++ = *end;
        *end-- = temp;
    }
}

// 反转单词的函数 */
void ReverseWords(char* s) {
    char* word_begin = s;

    // 单词的边界说明
    char* temp = s;

    // 把字符串反转过来
    Reverse(s, temp);

    // 反转每个单词
    while (*temp) {
        temp++;
        if (*temp == '\0') {
            Reverse(word_begin, temp - 1);
        } else if (*temp == ' ') {
            Reverse(word_begin, temp - 1);
            word_begin = temp + 1;
        }
    }
}

// 主函数
int main() {
    char s[] = "Welcome to Geeksforgeeks";
    char* temp = s;
    ReverseWords(s);
    printf("%s", s);

    return 0;
}