Задать вопрос
@LebedevImagine

Почему этот код на Си работает не правильно?

Предполагается, что если введенный символ не точка, то переменная будет инкрементироваться и выводиться на экран. Однако инкрементирование происходит 2 раза. Почему? В чем ошибка?

Результат работы кода ниже
5e2a056b290e4848315046.png

#include <stdio.h>

int main()
{
    printf("To stop enter '.'\n\n");
    int counter = 0;
    char ch;
    
    do
    {
        scanf("%c", &ch);
        counter++;
        printf("counter = %i\n", counter);
        
    } while (ch != '.');

    return 0;
}
  • Вопрос задан
  • 159 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
LIAN Москва
от 270 000 до 300 000 ₽
НТЦ ПРОТЕЙ Санкт-Петербург
от 150 000 до 330 000 ₽
Aporia Севастополь
До 150 000 ₽