将一个英文语句以单词为单位逆序排放。

将一个英文语句以单词为单位逆序排放。

例如“I am a boy”,逆序排放后为“boy a am I” 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符//不能运行,求解答

#include <stdio.h>
#include <string.h>

int main()
{
    char str[1000];
        int len=strlen(str);
    gets(str);
    
    for(int i=len-1;i<=0;i--)
    {
        if (str[i]=' ')
            for(int m=i;str[m]=' '||str[i]!='\n';m++)
            {
                printf("%c",str[m]);
            }
    else
        break;
        }
    return 0;
}

修改如下: 

#include <stdio.h>
#include <string.h>

int main()
{
	char str[1000];
	gets_s(str);
	int len = strlen(str);

	char temp[50];
	memset(temp, '\0', 50);
	int j = 0;
	for (int i = len - 1 ; i >= 0; i--)
	{
		
		if (str[i] != ' ')
		{
			temp[j++] = str[i];
		}
		else
		{
			for (; j >= 0; j--)
			{
				printf("%c", temp[j]);
			}
			memset(temp, '\0',50);
			j = 0;
			printf(" ");
		}
	}

	for (; j >= 0; j--)
	{
		printf("%c", temp[j]);
	}

	return 0;
}