递归分割法

    这种方法并没有改变原数组内容,只是倒着打印了一遍。先把字符串中所有非英文字母元素置为空格,然后再分割字符串中的单词,具体的思路可以看看我之前写的这篇博客😊:http://t.csdn.cn/SfV4o

代码实现(C语言)

#include<stdio.h>
#include<ctype.h>

void reversePrint(char* str)
{
    char* str_cy = str;
    while(*str != ' ' && *str != '\0')
    {
        str++;
    }
    
    if(*str == ' ')
    {
        *str = '\0';
        reversePrint(str+1);
    }
    
    printf("%s ", str_cy);
    
}

int main()
{
    char str[10001] = {0};
    gets(str);
    int i = 0;
    char* str_cy = str;
    while(*str_cy)
    {
        if(isalpha(str_cy[i]) == 0)
            str_cy[i] = ' ';
        str_cy++;
    }
    reversePrint(str);
    
    return 0;
}