思路

  1. 倒序找空格
  2. 正序输出单词
  3. 最终输出时用空格分开单词
#include<stdio.h>
#include<string.h>

int main()
{
    char val[1000]={0};
//     输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。
    gets(val);
    int len = strlen(val);
    int end = len;
    for(int i=len-1; i>=-1; i--){
        //通过倒着找空格判断单词
        if((val[i] == ' ') || (i==-1)){
            //正序输出找到的单词
            for(int j=i+1; j<end; j++){
                printf("%c",val[j]);
            }
            end = i;//将结束位置向前移动
            printf(" ");//通过空格分隔
        }
    }
    
    return 0;
}