AAAAAABBCD
53342321
采纳率84.2%
2019-11-13 10:17 阅读 254

小白求助,我的过滤字符串中多余的空格的代码行不通,不知道问题出在哪里

#include<stdio.h
#include<string.h
int main()
{
int i,j=0;
char ch[256];
char th[256];
gets(ch);
int len=strlen(ch);
for(i=0;i<len;i++)
{

if(ch[i]!=" ")
{
th[j]=ch[i];
j++;

    }

else if(ch[i+1]!=" ") th[j]=ch[i];
j++;
}
printf("%s",th);
return 0;
}
我的代码无法实现过滤多余空格的操作
输入Hello world.This is c language.
只能出来个.
哪里出现了问题

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    qtchen_1988 qtchen_1988 2019-11-13 10:36
    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int i,j;
        char ch[256] = {};
        char th[256] = {};
        gets(ch);
        int len=strlen(ch);
        j=0;
        for(i=0;i<len;i++)
        {
            if(ch[i]!= ' ')
                th[j++]=ch[i];
            else if(ch[i+1]!= ' ')
                th[j++]=ch[i];
        }
        printf("%s",th);
        return 0;
    }
    
    
    点赞 3 评论 复制链接分享
  • ZDW2018 漫跑者 2019-11-13 10:23

    for(i=0;i<len;i++)
    { int j=0; // 每次回到这边都变成j=0 了 永远没有实现 th[1]的赋值
    .....

    点赞 评论 复制链接分享

相关推荐