@HoShik

Почему не читает строку?

Не могу понять почему не читает строку:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

void main() 
{
    char c, String[50];
    int count = 0, i;
    puts("Input string: ");
    gets(String);
    puts("Input character: ");
    scanf("%s", &c);
    for(i=0; i<strlen(String); i++) 
    {
        if(String[i]==c) 
        {
           count++; 
        }
    }
    printf("Count of characters %s %d", c,count);
}

Цикл вроде работает, но почему не сравнивает?
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
@Codebaker
Всё умею, всё могу!
scanf("%s", &c);

Считываете строку в символ. Что такое сторка? Это последовательность символов, завершающаяся нулем. Куда попадает этот ноль? Правильно, в начало String[50], обнуляя вам строку. Как исправить? Использовать "%c"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы