Помогите с кодом пожалуйста

Программа вводит несколько строк текста и символ для поиска. Используя функцию strchr, программа определяет, сколько раз этот символ встречается в строках

int main()
{
    int k = 0;
    char str[100];
    char* pch;
    printf("please input 1 line:");
    scanf("%s", str);
    int ch;
    scanf("%d", &ch);
    pch = strchr(str, ch);
    puts(str);
    if (pch == NULL)
        printf("symbol not found\n");
    else
    {
        printf("sumbol %c on place %d\n", ch, pch - str + 1);
        k++;
    }
    printf("k:%d", k);
    return 0;
}

Ответы (1 шт):

Автор решения: Mikhailo
int main()
{
    int k = 0;
    char str[100];
    char* pch;
    printf("please input 1 line:");
    fgets(str,100,stdin);
    char ch;
    printf("please input char:");
    scanf("%c", &ch);
    for(pch = strchr(str, ch); pch; pch = strchr(pch+1, ch))
    {
        ++k;
    }
    printf("symbol %c found %d times\n", ch, k);
}

Но проще без strchr - просто пройти по символам:

for(pch = str; *pch; pch++)
{
    if (*pch == ch) ++k;
}
→ Ссылка