Начнём с того, что я ещё совсем "зелёный" в программировании. И тут на днях я баловался с С++. Написал консольную прогу, которая просто запрашивает Имя, Фамилия, Возраст, Дата рождения и выводит это на экран. "В общем, ничего нового" - как сказал бы один известный товарищ. Но вовремя тестирования я быстро нажимал клавиши и в тип int ввёл символы. Ну и естественно сразу выскочила ошибка, но прога продолжала выполнять свою работу и в конце вывела результат.
Вопрос что это может быть? Может компилятор? И да не кидайтесь тапками.
Ничего странного тут нет: судя по всему вы использовали cin
для ввода, так? Так вот: когда вы ввели букву вместо цифры, то cin
выдал ошибку и перестал работать, поэтому вы не смогли ввести следующие значения. Ну а почему вывод сработал? Ну потому что вы приказали программе вывести значения переменных и она эта сделала. Она не в курсе того, что вы не поместили туда нужные вам значения - она не телепат, поэтому вывела то, что в них храниться. Ну а так, как вы не позаботились об их инициализации, там находится мусор.
Проблема, как и в 99.9% случаев не в компиляторе, а где-то между монитором и спинкой кресла.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Похоже я не совсем понимаю что из себя представляют двумерные (n-мерные) массивы в C++, чем они являются для оперативной памяти и чем двумерный...
Пытаюсь реализовать функцию дешифрования из DPAPIПозже я заметил, что после моей функции в памяти забивается 8