信奥一本通出现-编译错误,请问是什么问题呢,我定义的数组长度也够

提交到信奥一本通上面显示编译错误,看样子像是gets有问题,我实在找不出来哪里有问题


#include<stdio.h>
int main()
{
    char s[200];
    gets(s);
    for(int i=0;s[i]!='\0';i++)
    {
        if(s[i]!=' ')
        {
            printf("%c",s[i]);
        } 
        else if(s[i]==' '&&s[i+1]!=' ')
        {
            printf("%c",s[i]);
        }
    } 
} 

img

img


#include<stdio.h>
void gets(char *s)
{
    fgets(s,200,stdin);

    for (int i=0;i<199;i++) if (s[i]=='\n') s[i]=0;
    s[200-1]=0;
}
int main()
{
    char s[200];
    gets(s);
    for(int i=0;s[i]!='\0';i++)
    {
        if(s[i]!=' ')
        {
            printf("%c",s[i]);
        }
        else if(s[i]==' '&&s[i+1]!=' ')
        {
            printf("%c",s[i]);
        }
    }
}

改这样试试:gets_s(s);