Demons_614 2021-10-25 16:49 采纳率: 100%
浏览 136
已结题

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

提交到信奥一本通上面显示编译错误,看样子像是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

  • 写回答

2条回答 默认 最新

  • 赵4老师 2021-10-25 18:03
    关注
    
    #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]);
            }
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月26日
  • 已采纳回答 11月18日
  • 创建了问题 10月25日