Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > Что неверно в коде? |
Автор: асд1 20.7.2013, 17:47 |
![]() Выводит (age 0), a должна выводить (age -1) |
Автор: feodorv 20.7.2013, 19:16 | ||
Видимо, >> таки портит значение считываемой переменной, даже если ввод некорректен... А Вы пробовали после считать ещё чего-нибудь с cin?
|
Автор: ZeUsM 29.7.2013, 11:50 | ||||||||||
Интересное наблюдение: 1. Код немного измененнный
изменено на:
MSVC 2010 - результат соответствует ожиданию.
На компиляторе MinGW 4.7.2 вывод
На компиляторе MinGW 4.4.0
Вот как - то так. ![]() |
Автор: CosmoMan 29.7.2013, 14:43 |
Видимо разница в реализации стандартной библиотеки в разных версиях компиляторов. В одной версии в "age" не попала строка вообще(она не изменилась), в другой версии строка попала как ноль. Или вас удивляет что то другое? Видимо оператор << переопределен для char и string по разному в разных версиях библиотеки std. |