c语言删去字符串中的空格

img


为什么只会输出空格之前的字符啊,有没有哪位可以帮我看看,感谢🙏


#include<stdio.h>
#include<string.h>
int main()
{
    char a[20];
    gets(a);
    int count = 0, length = strlen(a);        //length为数组长度
    for (int i = 0; i<length; i++)
    {
        if (a[i] == ' ')
        {
            count++;                //统计空格个数
            for (int j = i; j < length -count; j++)
            {
                a[j] = a[j + 1];
            }
        }
    }
    for (int i = 0; i < length-count; i++)
        printf("%c", a[i]);
    return 0;
}