算法-翻转句子中单词的顺序

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int  reverse(char *begin, char *end)
{
    char temp;
    if (begin == NULL || end == NULL)
    {
        return 0;
    }
    
    while (begin < end)
    {
        temp = *begin;
        *begin = *end;
        *end = temp;
        begin++;
        end --;
    }
    return 0;
}

int  reverse_process(char *data)
{
    char *begin;
    char *end;
    begin = end = data;
    while (*end != '')
    {
        end++;
    }
    end--;
    reverse(begin, end);
    begin = end = data;
    while (*begin != '')
    {
        if (*begin == ' ')
        {
            end++;
            begin++;
            continue;
        }
        else if (*end == ' '||*end == '')
        {
            reverse(begin, --end);
            begin =++end;

        }
        else end++;
    }

}

int main()
{
    char data[] = "i am a teacher";
    reverse_process(data);
    printf("%s", data);
}
原文地址:https://www.cnblogs.com/cyyz-le/p/11215833.html