为啥数组第一个字符不出来

#include <stdio.h>
#include <string.h>
int main()
{
char ch;
char str[100];
scanf("%c %c\n",&ch,str[100]);
gets(str);
int p=0,i,k,n;
n=strlen(str);
for(i=0;i<n;i++)
{
if(str[i]==ch)
{
for(k=i;k<n;k++)
{
str[k]=str[k+1];
p=1;
}
}

img

}
if(p==0)
printf("not found");
else
puts(str);
return 0;

}

#include <stdio.h>
#include <string.h>
int main()
{
    char ch;
    char str[100];
    scanf("%c%s", &ch, str);
    int p = 0, i, k, n;
    n = strlen(str);
    for (i = 0; i < n; i++)
    {
        if (str[i] == ch)
        {
            for (k = i; k < n; k++)
            {
                str[k] = str[k + 1];
                p = 1;
            }
        }
    }
    if (p == 0)
        printf("not found");
    else
        puts(str);
    return 0;
}

img


加了换行是这样的