A ожидаемое поведение C/C++
Черт бы побрал всех до единого...
У меня есть C/C++ программа. И когда я запускаю этот код, поведение программы очень странно.
Что я уже пробовал:
#include "stdafx.h" #include "iostream" using namespace std; int main() { int n; do { cout << "Enter a number = "; cin >> n; } while (n != 2); }
Скомпилируйте этот код и введите целочисленное значение, кроме 2 код работает хорошо.
Теперь введите характер или плыть (не целое число) число и увидеть странное поведение.
Независимо от того, используете ли вы цикл for, while или do-while, поведение будет одинаковым.
Я попробовал этот код в visual studio 2012, 2013, 2015 и турбо Си 3.1 версии. Поведение то же самое.
Так что может ли кто - нибудь помочь мне решить эту проблему.
[no name]
На техническом форуме вы должны рассказать нам о поведении, которое вы ожидаете и наблюдаете. Это не соревнование в угадывании. Так в чем же именно заключается проблема? Вы объявили n int, поэтому введите float, и результат, конечно же, будет непредсказуемым. Google все это объяснит.
Richard MacCutchan
Ваша программа запрашивает номер, поэтому она должна проверить, что был введен только номер. Программирование-это не только написание логики, но и проверка входных данных, предоставляемых пользователями.