C语言程序无法运行原因未知

程序运行不了的原因

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

int main(void)
{
    char str[1000];//定义一个数组
    gets(str);
    int len=strlen(str);
    for (int i=len;i>0;i--)
    {
        if(str[i]!=' '||str[i]!='\n')
            {
                printf("%c",str[i]);
            }
        else
            break;
    }
    return 0;
}

len 是字符串的长度。长度会比最后一个字符下标多1。应该从len-1开始循环到0
 for (int i=len-1;i>=0;i--)

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

int main(void)
{
    char str[1000];//定义一个数组
    gets(str);
    int len=strlen(str);
    for (int i=len-1;i>=0;i--)
    {
        if(str[i]!=' '||str[i]!='\n')
            {
                printf("%c",str[i]);
            }
        else
            break;
    }
    return 0;
}