Консультация онлайн # 202848

Раздел: С / С++
Автор вопроса: сагит (Посетитель)
Дата: 19.05.2022, 13:16 Консультация неактивна
Поступило ответов: 1
Здравствуйте! Прошу помощи в следующем вопросе: Хотел поэкспериментировать с языком си, по учебнику математике за 2 класс,
подскажите что не так.

-----
Прикрепленные файлы:

Ответ # 1, var (8-й класс)

Добрый день!

Ошибки крупным планом:
1. Когда объявляете локальные переменные, они содержат случайное содержимое. До их использования им нужно присвоить корректные значения, например ввести их с клавиатуры.
2. Вы выводите на печать значения переменных, предварительно не присвоив им корректные значения. Поэтому выводятся случайные числа (см. пункт 1). Также нет смысла производить вычисления над случайными значениями.
3. Вы вводите с клавиатуры значения переменных после их использования (что бесполезно), а надо до... Иначе зачем их запрашивать?

Правильная последовательность:
1. Объявление переменных.
2. Ввод значений с клавиатуры.
3. Вычисления.
4. Вывод на печать.

var

8-й класс
19.05.2022, 13:46
Нет оценки ответа

Мини-форум консультации # 202848

сагит

Посетитель

ID: 406030

326164

= общий =    19.05.2022, 14:41
Спасибо сработала, только один вопрос, почему программа запрашивает у меня 3 раз ввода, ведь scanf() я ввёл 2?
var

8-й класс

ID: 403303

326165

= общий =    19.05.2022, 14:55
В данный момент не могу проверить. Возможно, побочный эффект. При вводе с клавиатуры символ перевода на новую строку не применяют. Т.е. вместо
scanf("%d\n",&k);
надо писать
scanf("%d",&k);
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.